Tengo varios servidores de Windows ejecutándose en una red virtual de Azure con 2 subredes. Tengo un controlador de dominio en 10.0.0.4 y servidores en 10.0.1.4, 10.0.1.5, etc. Configuré una VPN de punto a sitio, para que pueda hacer una conexión VPN a la red virtual desde mi PC. Cuando hago la conexión VPN, mi PC recibe una IP 10.0.16.x. De forma predeterminada, la conexión VPN proporcionada por Azure enruta solo el tráfico 10.xxx a través de la VPN, pero he modificado esto marcando Usar puerta de enlace predeterminada en la red remota, porque quiero que todo el tráfico de Internet se enrute a través de Azure cuando estoy conectado a la VPN. Cuando hago esta conexión, puedo acceder a los servidores en la red virtual de Azure, pero no tengo conectividad a Internet. Tengo entendido que se requerirá un enrutador NAT para facilitar la conectividad a Internet.
He agregado una VM CentOS en 10.0.1.6. Tiene una sola NIC, ya que no es posible que las máquinas virtuales de Azure tengan más de una NIC. Tengo dos preguntas:
¿Será posible configurar un enrutador NAT con una sola NIC? ¿Si es así, cómo? Las búsquedas en Google me entierran en una avalancha de comandos de iptables, principalmente para enrutadores NAT con 2 NIC. No puedo encontrar nada que simplifique los pasos de configuración necesarios para este tipo de escenario. Intenté los comandos aquí , pero eso no fue exitoso.
En mi PC después de conectarme a la VPN, no tengo muy claro qué necesitaré hacer. ¿Voy a querer esencialmente hacer de 10.0.1.6 la puerta de enlace predeterminada? Si es así, ¿es así como haré eso?
route delete 0.0.0.0 route add 0.0.0.0. MASK 0.0.0.0 10.0.1.6
En caso de que ayude, aquí está la salida de ifconfig
CentOS VM:
eth0 Link encap:Ethernet HWaddr 00:15:5D:61:7E:1E
inet addr:10.0.1.6 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:5dff:fe61:7e1e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:931 errors:0 dropped:0 overruns:0 frame:0
TX packets:1034 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:101709 (99.3 KiB) TX bytes:162650 (158.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Aquí hay un fragmento de la página de configuración de Azure Virtual Network que, con suerte, ayudará a describir el diseño de la red. Estoy usando "Subnet-1" para los controladores de dominio, y "Subnet-2" es donde viven todos los demás servidores (incluida la VM CentOS que estoy tratando de usar como enrutador). Azure configura automáticamente las máquinas virtuales en "Subred-1" con una puerta de enlace predeterminada de 10.0.0.1, y las máquinas virtuales en "Subred-2" con una puerta de enlace predeterminada de 10.0.1.1. Pero esas puertas de enlace no son servidores sobre los que tengo control. Los clientes VPN tienen direcciones IP asignadas desde el espacio de direcciones de "conectividad de punto a sitio".
Captura de pantalla de configuración de red virtual de Azure
(No se me permite publicar imágenes aparentemente)
Y aquí hay un enlace a la tabla de rutas en el cliente vpn (windows) (en este caso después de configurar 10.1.0.1 como la puerta de enlace predeterminada):
Respuestas:
El servidor vpn, por ejemplo, 10.0.0.1 es siempre la primera parada para todo el tráfico ip que sale del cliente.
Entonces, si tiene tráfico que va a, por ejemplo, www.google.com, primero debe cruzar este servidor vpn, porque la conexión vpn es un enlace punto a punto, es decir, el tráfico del cliente solo tiene una salida, que es el servidor.
Luego, el servidor vpn verá el destino del tráfico, y dado que el servidor está configurado para no reenviar el tráfico cuyo destino es Internet, lo eliminará.
Por lo tanto, el servidor vpn siempre interceptará y eliminará el tráfico que va a internet, no puede evitarlo.
Conclusión, el tráfico ni siquiera alcanzará los centos, por lo tanto, no activará NAT.
Puede crear un segundo túnel desde el cliente hasta los centos (por ejemplo, openvpn) dentro del túnel vpn original para ocultar el tráfico de internet del servidor vpn.
O, otra solución sería configurar un proxy web en la máquina virtual centos y configurar su navegador web para ese proxy, de esta manera el tráfico http siempre saldrá del cliente con la ip de centos de destino, y luego llegará al proxy , que reenviará a internet, sin embargo, esta solución solo funciona para el tráfico http.
fuente