Azure Virtual Machine에는 공용 IP가 없지만 인터넷에 액세스할 수 있습니다.

Azure Virtual Machine에는 공용 IP가 없지만 인터넷에 액세스할 수 있습니다.

가상 네트워크에 연결된 가상 머신이 있습니다. 가상 네트워크에는 연결된 장치 2개, 가상 네트워크 게이트웨이 및 네트워크 인터페이스가 있습니다.

가상 네트워크 게이트웨이에만 공용 IP 주소가 있습니다(지점 및 사이트 간 액세스가 가능하도록 사용되는 것으로 보입니다).

가상 네트워크에는 VPN을 수행할 수 있는 게이트웨이 서브넷과 Azure 리소스를 내부적으로 서로 연결하는 데 사용되는 "내부 서브넷"이라는 두 개의 서브넷이 있습니다.

따라서 가상 머신의 구성에는 공용 IP 주소가 표시되지 않지만 연결된 가상 네트워크는 표시됩니다.

그렇다면 어떻게 내 가상 머신이 여전히 외부 세계에 연결되어 있나요?

내가 수행하면 ifconfig다음과 같이 표시됩니다.

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

따라서 공용 IP가 없는 네트워크 인터페이스를 통해 가상 네트워크의 내 서브넷에 연결되어 있음이 명확하게 표시됩니다.

네트워크 보안 그룹을 설정할 때 VPN을 통해 SSH를 수행할 수 있도록 포트 22를 허용하는데, NSG에서는 이것이 외부 세계에 노출된다고 하는데, 여전히 인터넷을 허용하는 것이 NSG인가요? 또는 NSG에서 포트 80을 허용했다는 사실입니다. 그렇다면 Virtual Network Gateway를 통해 연결하는 경우 이러한 포트를 열려면 NSG가 필요합니까?

외부 세계가 아닌 내부 서브넷(가상 네트워크 게이트웨이라고도 함)에만 포트 22를 노출하려면 어떻게 해야 합니까?

답변1

대부분의 가정용 PC와 마찬가지로 NAT를 사용하여 외부 세계에 연결합니다. 자신의 PC를 살펴보면 개인 주소도 사용하고 있음을 알 수 있습니다. 기본적으로 라우터는 연결을 대상으로 전달하며 대상 호스트의 경우 연결이 라우터에서 시작된 것처럼 보입니다.

이것은 일반적으로 잘 작동하지만, 반대의 경우에는 외부 호스트가 공개 주소가 없는 호스트에 연결되도록 하려는 경우 어렵습니다.

관련 정보