Eu tenho uma máquina virtual conectada a uma rede virtual. A rede virtual possui 2 dispositivos conectados, um gateway de rede virtual e uma interface de rede.
Somente o gateway de rede virtual possui um endereço IP público (aparentemente usado para que o ponto a site possa acessá-lo).
A rede virtual tem duas sub-redes, uma sub-rede de gateway para que eu possa fazer VPN e uma "Sub-rede interna" usada para conectar recursos do Azure entre si internamente.
Portanto, a configuração da Máquina Virtual não mostra nenhum endereço IP público, mas mostra a rede virtual à qual está conectada.
Então, como é que minha máquina virtual ainda se conecta ao mundo exterior?
Se eu fizer ifconfig
isso mostra:
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
Isso mostra claramente que está conectado à minha sub-rede na Rede Virtual por meio da Interface de Rede que não possui IP Público.
Eu me pergunto porque, quando configuro o Network Security Group, permito a porta 22 para poder SSH através da minha VPN, o NSG diz que isso está exposto ao mundo exterior, é o NSG que ainda está permitindo a entrada de internet? ou o fato de ter permitido a porta 80 no NSG. Nesse caso, preciso de um NSG para abrir essas portas se estiver me conectando por meio do Virtual Network Gateway?
Como exponho apenas a porta 22 às minhas sub-redes internas (também conhecidas como gateway de rede virtual) e não ao mundo externo?
Responder1
Ele usa NAT para se conectar ao mundo externo, assim como a maioria dos PCs domésticos. Se você olhar para o seu próprio PC, provavelmente descobrirá que ele também usa um endereço privado. Basicamente, o roteador encaminha a conexão para o destino, para o host alvo a conexão parece originar-se do roteador.
Isso geralmente funciona bem, o que é difícil é o contrário, se você quiser que hosts externos se conectem ao host que não possui endereço público.