Назад | Перейти на главную страницу

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

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

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

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