KVM: Todo el tráfico de networking a un invitado (firewall)

Actualmente utilizo un server VMWare ESXi 5.5 para mi virtualización. La configuration de networking es la siguiente:

El firewall PFSense es el centro de todo y está conectado a: Red LAN (NIC física 1 asignada por VMWare) Red DMZ (NIC física asignada por VMWare) WAN (NIC 2 física asignada sólo al firewall por VMWare)

El host es miembro de la networking LAN. Hay un par de serveres en la networking DMZ y LAN que son todos basados ​​en Linux, así que en general nada demasiado lujoso.

En mi caso, el cortafuegos se ocupa de todo el tráfico y la NIC física 2 está disponible exclusivamente para el cortafuegos (no el host). De esta manera el firewall es capaz de get la dirección IP pública que es asignada por mi proveedor de Internet a través de DHCP (proveedor de cable).

Por último, ahora soy capaz de mi cliente que es miembro de la networking LAN, por supuesto, para acceder a todos los serveres que quiero y necesito a lo que me las arreglé por las normas específicas de firewall en el PFSense. Todo es peachy hasta ahora.

Así que mi pregunta ahora es cómo puedo implementar este escenario dentro de KVM y hacer que el host KVM (que probablemente será un server Ubuntu 13.10 o 14.04 o basado en Debian) una networking relacionada "dumb" host y dejar que el cortafuegos sea el hoyo para todos tráfico de networking.

He experimentado un poco en mi computadora portátil con KVM y la installation de un invitado (basado en Ubuntu server 13.10), pero tenía sólo una física NIC y no quería tirar el cable de Internet para esta testing. 🙂

Por lo tanto, toda la ayuda, sugerencias e ideas sobre cómo get esta configuration se realiza es muy apreciada. Si hay una falta de información por favor hágamelo saber y voy a tratar de actualizar este post en consecuencia, pero espero que la idea general de lo que quiero hacer se ha vuelto claro durante este post.

VJ

PS: Para una mejor comprensión aquí es una image de mi actual configuration de networking VMWare .

2 Solutions collect form web for “KVM: Todo el tráfico de networking a un invitado (firewall)”

Sencillo. Asummos:

WAN -> eth0

LAN -> eth1

Lo que usted querrá hacer es crear un puente (vamos a nombrarlo br_wan) con el dispositivo eth0 y dejarlo sin IP configurado en el host (el host no tendrá IP configurado para br_wan).

Ahora crear otro puente (vamos a llamar br_lan) con el dispositivo eth1 y dejar que el anfitrión tomar su IP de este puente a través de DHCP (suponiendo PFSense es el server dhcp aquí).

A la máquina virtual PFSense se le dará tanto br_wan como br_lan como dispositivos Ethernet (use virtio for better perf). PFSense los verá como eth0 y eth1 lo más probable.

Algunos conceptos básicos de configuration, no lo han probado, pero todo lo que tendrá que hacer es configurar la configuration correcta dentro de / etc / network / interfaces, las líneas a continuación son de mi memory, no probado pero debería ser casi correcto:

====== / etc / network / interfaces en el HOST ======

auto br_wan iface br_wan inet static address 0.0.0.0 bridge_ports eth0 auto br_lan iface br_lan inet dhcp bridge_ports eth1 

Por lo que entiendo que desea casi la misma configuration que tengo, por lo que voy a tratar de describirlo:

Mi server KVM con 2 NICs ejecuta Ubuntu 13.10 Server con KVM + Libvirt. Una NIC sirve como puente en la LAN y la otra se pasa directamente desde el ISP al firewall virtual (ejecutando Vyatta).

Mi ISP asigna IPs con DHCP enlazado a la dirección MAC. El firewall virtual maneja las llamadas del cliente DHCP al ISP para que la IP se asigne directamente a él. En el server / host de KVM tuve que establecer una dirección local estática en el ISP frente a NIC para evitar que haga llamadas de cliente DHCP (ya que mi ISP solo alquila una IP)

Esta es la / etc / network / interfaces en el host (eth0 conectado al switch LAN, eth1 directamente a / desde ISP):

 auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 10.0.0.2 netmask 255.255.255.0 gateway 10.0.0.1 network 10.0.0.0 broadcast 10.0.0.255 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 dns-nameservers 10.0.0.4 dns-search lan auto eth1 iface eth1 inet static address 10.0.99.1 netmask 255.255.255.252 

Esta es la configuration de interfaz para la máquina virtual:

 <interface type='direct'> <mac address='52:54:00:b6:58:85'/> <source dev='eth1' mode='vepa'/> <target dev='macvtap0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <interface type='bridge'> <mac address='52:54:00:88:94:6e'/> <source bridge='br0'/> <target dev='vnet1'/> <model type='virtio'/> <alias name='net1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </interface> 

La configuration de las interfaces de Vyatta se parece a esto (eth1 va a LAN / bridge y eth0 es el ISP que hace frente a la connection de eth1 en el host):

 interfaces { ethernet eth0 { address dhcp duplex auto firewall { in { name wan2lan } local { name wan2gw } } hw-id 52:54:00:b6:58:85 smp_affinity auto speed auto } ethernet eth1 { address 10.0.0.1/24 duplex auto hw-id 52:54:00:88:94:6e smp_affinity auto speed auto } loopback lo { } } 

Esta manera consigo la dirección de DHCP de mi ISP directamente al cortafuego virtual, y el encaminamiento en el anfitrión pasa con el cortafuego virtual como deseo.

Espero que esto ayude 🙂

  • ¿Cómo calcular el tráfico del server web?
  • Necesita soluciones para compartir una línea DSL de 3Mb / 768Kbps a más de 60 usuarios y un ancho de banda más rápido
  • No se puede pasar el tráfico de privoxy a ziproxy
  • OpenVPN: Ruta de todo el tráfico a través del server desde la configuration del cliente
  • Servidor de producción de MySQL que experimenta un alto tráfico del usuario debian-sys-maint
  • ¿Cómo funcionan iptables con NFQ en términos de tráfico que forma en snort?
  • Linux Traffic Controller (Linux tc): cubo de token jerárquico (htb) tamaño de la queue de packages
  • Tráfico abrumador de llnw.com y msecn.net a través de calamar
  • ¿Proyectos de código abierto que necesitan espejos?
  • Freebsd, ipfw sched - config type = QFQ se congelan
  • ¿Cómo puedo determinar qué dominio tiene más tráfico?
  • El software de control de tráfico hará que los packages tcp sean eliminados
  • Cmdlets de rastreo Netsh vs cmdlets de rastreo PEF vs cmdlets NetEvent
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.