Azure虛擬機器沒有公有IP但可以存取互聯網

Azure虛擬機器沒有公有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 的網路介面連接到虛擬網路中的我的子網路。

我想知道,因為當我設定網路安全群組時,我允許連接埠 22,以便我可以透過 VPN 進行 SSH,NSG 說這會暴露給外界,是 NSG 仍然允許網路進入嗎?或者我已經允許 NSG 上的連接埠 80 的事實。如果是這樣,如果我透過虛擬網路閘道進行連接,是否還需要 NSG 來開啟這些連接埠?

如何僅將連接埠 22 暴露給我的內部子網路(也稱為我的虛擬網路網關)而不暴露給外界?

答案1

它使用 NAT 連接到外部世界,與大多數家用 PC 一樣。如果您查看自己的電腦,您很可能會發現它也使用私有位址。基本上,路由器將連線轉送到目的地,對於目標主機來說,連線似乎源自於路由器。

這通常效果很好,但困難的是另一種方式,如果您希望外部主機連接到沒有公共位址的主機。

相關內容