Tengo una máquina virtual que está conectada a una red virtual. La red virtual tiene 2 dispositivos conectados, una puerta de enlace de red virtual y una interfaz de red.
Sólo la puerta de enlace de red virtual tiene una dirección IP pública (aparentemente utilizada para que Point-to-Site pueda acceder a ella).
La red virtual tiene dos subredes, una subred de puerta de enlace para que pueda utilizar una VPN y una "subred interna" que se usa para conectar recursos de Azure entre sí internamente.
Entonces, la configuración de la máquina virtual no muestra ninguna dirección IP pública, pero sí muestra la red virtual a la que está conectada.
Entonces, ¿cómo es que mi máquina virtual todavía se conecta con el mundo exterior?
Si hago un ifconfig
muestra:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.4 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::222:48ff:fe07:e7da prefixlen 64 scopeid 0x20<link>
ether 00:22:48:07:e7:da txqueuelen 1000 (Ethernet)
RX packets 47292 bytes 58161743 (58.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14277 bytes 2886277 (2.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Muestra claramente que está conectado a mi subred en la red virtual a través de la interfaz de red que no tiene IP pública.
Me pregunto porque, cuando configuro el grupo de seguridad de red, permito el puerto 22 para poder SSH a través de mi VPN, el NSG dice que esto está expuesto al mundo exterior, ¿es el NSG el que todavía permite la entrada a Internet? o el hecho de que he permitido el puerto 80 en el NSG. Si es así, ¿necesito siquiera un NSG para abrir estos puertos si me conecto a través de Virtual Network Gateway?
¿Cómo expongo sólo el puerto 22 a mis subredes internas (también conocidas como mi puerta de enlace de red virtual) y no al mundo exterior?
Respuesta1
Utiliza NAT para conectarse al mundo exterior, al igual que la mayoría de las PC domésticas. Si observa su propia PC, lo más probable es que descubra que también utiliza una dirección privada. Básicamente, el enrutador reenvía la conexión al destino; para el host de destino, la conexión parece originarse desde el enrutador.
Esto generalmente funciona bien, lo que es difícil es al revés, si desea que hosts externos se conecten al host que no tiene una dirección pública.