Azure 仮想マシンにはパブリック IP はありませんが、インターネットにアクセスできます。

Azure 仮想マシンにはパブリック IP はありませんが、インターネットにアクセスできます。

仮想ネットワークに接続された仮想マシンがあります。仮想ネットワークには 2 つの接続デバイス、仮想ネットワーク ゲートウェイ、およびネットワーク インターフェイスがあります。

仮想ネットワーク ゲートウェイのみにパブリック IP アドレスがあります (ポイントツーサイトがアクセスできるようにするために使用されるようです)。

仮想ネットワークには 2 つのサブネットがあります。1 つは VPN に使用できるゲートウェイ サブネット、もう 1 つは 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 を許可したからでしょうか。もしそうなら、仮想ネットワーク ゲートウェイ経由で接続している場合、これらのポートを開くために NSG が必要なのでしょうか?

ポート 22 を内部サブネット (仮想ネットワーク ゲートウェイとも呼ばれます) にのみ公開し、外部には公開しないようにするにはどうすればよいですか?

答え1

外部との接続には、ほとんどの家庭用 PC と同様に NAT を使用します。自分の PC を確認すると、プライベート アドレスも使用されていることがわかります。基本的に、ルーターは接続を宛先に転送し、ターゲット ホストにとっては接続はルーターから発信されているように見えます。

これは通常うまく機能しますが、難しいのは逆の場合、つまり、外部のホストがパブリック アドレスを持たないホストに接続する場合です。

関連情報