Виртуальная машина 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, чтобы я мог SSH через свой VPN, NSG говорит, что это открыто для внешнего мира, это NSG все еще разрешает интернет? или тот факт, что я разрешил порт 80 в NSG. Если так, мне вообще нужен NSG, чтобы открыть эти порты, если я подключаюсь через шлюз Virtual Networt?

Как сделать порт 22 доступным только для моих внутренних подсетей (т. е. моего виртуального сетевого шлюза), а не для внешнего мира?

решение1

Он использует NAT для подключения к внешнему миру, как и большинство домашних ПК. Если вы посмотрите на свой ПК, вы, скорее всего, обнаружите, что он также использует частный адрес. По сути, маршрутизатор перенаправляет соединение к месту назначения, для целевого хоста соединение, по-видимому, исходит от маршрутизатора.

Обычно это работает хорошо, но сложность возникает, если вы хотите, чтобы внешние хосты подключались к хосту, у которого нет публичного адреса.

Связанный контент