
He buscado y buscado pero no encontré una manera de hacer esto. Las respuestas que encontré decían obtener una segunda tarjeta de visita y dedicarla al invitado de Windows. Mi servidor es Linux Mint 16.
Veo cómo especificar un adaptador de red para el invitado, pero ¿cómo hago para que el invitado de Windows tenga acceso a Internet pero no pueda acceder a ninguna otra computadora en la red del host?
Quiero asegurarme de que incluso si la dirección IP del invitado se cambia manualmente, no pueda acceder al resto de la red. Sólo debería verse a sí mismo (y tal vez al anfitrión).
Respuesta1
Esto se puede hacer en VirtualBox.
Debe elegir una conexión que permita el uso deiptablespara controlar paquetes. Por lo tanto, ni NAT ni Bridge servirán porque no crean una NIC accesible para el usuario. Deberías usarRed solo de hosten cambio, crea en el host una interfaz accesible para el usuario llamada vboxnet0.
Para configurarlo, Archivo -> Preferencias -> Red -> Red solo host -> Signo más para crearlo, luego Destornillador -> Servidor DHCP, habilite el Servidor DHCP. Guarde la configuración, inicie la VM.
Ahora, en el invitado, debe configurar el host como su puerta de enlace: la IP predeterminada para el host es 192.168.56.1. Utilice Google para encontrar instrucciones sobre cómo hacer esto en Windows. Y, posiblemente, es posible que tengas que configurar los servidores DNS.
En el host, todas estas instrucciones como sudo:
1) Habilitar el reenvío de IP:
echo "1" > /proc/sys/net/ipv4/ip_forward
2) Emitir lo siguienteiptablesnormas:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP
La primera regla permite el acceso a Internet de la VM; el segundo par prohíbe que la VM acceda a la LAN, excepto, por supuesto, su enrutador y su dirección de transmisión.
Las reglas anteriores suponen que el host está conectado a través deeth0, que su LAN es192.168.1.0/24, que su enrutador y dirección de transmisión son 192.168.1.1 y 192.168.1.255, respectivamente. Si no es así, cámbielos en consecuencia.
Respuesta2
La respuesta corta es que no puedes obtener el aislamiento que deseas solo con VirtualBox. Una VM siempre heredará la misma disponibilidad de red que el host (asumiendo modos de red Bridged o NAT).
Tienes cuatro opciones de red en VirtualBox:
puenteado: comparte la conexión con uno de los adaptadores del host. Esto sería como si las máquinas virtuales y el host estuvieran conectados al mismo conmutador. Las máquinas virtuales pueden acceder a todo lo que puede acceder el host.
NAT: VirtualBox coloca un firewall NAT virtual entre el adaptador del host y la red virtual. Las máquinas virtuales aún pueden acceder a todo lo que puede acceder el host.
Sólo anfitrión: La VM solo puede comunicarse con la computadora host.
Interno: Las máquinas virtuales están en una red aislada y solo pueden comunicarse con otras máquinas virtuales en la misma red interna.
Ninguna de estas opciones cumple con sus requisitos, por lo que solo en VirtualBox no se puede hacer. Como mencionó, agregar una NIC adicional proporciona la separación física necesaria para crear la separación que desea.
Respuesta3
Ok, descubrí una gran solución que solo necesita 1 tarjeta de red en el sistema operativo host.
- Proporcione al sistema operativo invitado un adaptador solo de host (el predeterminado es vboxnet0) y asegúrese de que vboxnet0 haga dhcp.
- Instale el proxy squid (sudo apt-get install squid3
- Abra el archivo /etc/squid3/squid.conf y realice los siguientes cambios: A. Busque la línea con "http_access deny all" y coméntela colocando un # al principio de la línea. B. Pegue las siguientes dos líneas en el archivo:
- acl todas las computadoras src 192.168.56.0/255.255.255.0
- http_access permite todas las computadoras
- Reinicie el servicio squid 3 ejecutando: sudo service squid3 restart
- En el sistema operativo invitado, asegúrese de que dhcp esté configurado para la tarjeta de red.
- Abra las Opciones de Internet de Internet Explorer, vaya a la pestaña Conexiones, haga clic en Configuración de Lan..., marque la casilla de Servidor Proxy y establezca la dirección 192.168.56.1 y el puerto 3128.
- Internet funciona ahora en el invitado y el invitado no puede ver la red local.
Gracias por la ayuda en esta publicación. Me guió en la dirección correcta para encontrar Squid3. Toda la configuración aquí tarda entre 5 y 10 minutos y es muy sencilla.