Виртуальная машина Azure не может получить доступ к Интернету

Я установил несколько виртуальных машин Windows и одну виртуальную машину linux на лазурном сервере, и ни одна из них не может получить доступ к Интернету.

Ни на одной из виртуальных машин нет общедоступные IP-адреса. Я могу RDP в окнах / ssh в Linux-боксе из-за правил NAT для входящего трафика на балансировщике нагрузки.

Я применил группы безопасности сети к NI каждой виртуальной машины (в самой виртуальной сети нет NSG). Эти группы безопасности сети разрешают исходящий интернет-трафик. Чтобы проверить это, я использовал тест «Проверка IP потока», который показывает, что трафик не блокируется правилами NSG.Я также использовал средство «Устранение неполадок подключения» Наблюдателя за сетью, которое показывает, что соединение любой из виртуальных машин с IP-адресом в Интернете «недоступно», но не показывает никаких проблем в качестве причины.

Я могу разрешить доменные имена (используя » host "на linux, например), поэтому я не считаю, что это проблема DNS.

Почему я не могу получить доступ в Интернет с этих виртуальных машин? Спасибо за внимание.

---- Редактировать 1 ----

Это результат, который я вижу в "Устранении неполадок подключения" Наблюдателя за сетью: enter image description here

---- Изменить 2 ----

Удаление NSG сетевого интерфейса на рассматриваемой виртуальной машине не помогает. Я дважды проверил, что у меня нет сети безопасности сети в подсети виртуальной машины.

Правила для входящего и исходящего трафика в группе безопасности сети: inbound NSG rules outbound NSG rules

В рассматриваемой подсети для параметра «NAT-шлюз» установлено значение «none» (и, действительно, нельзя задать другое значение).

Network Watcher «Проверка IP-потока» утверждает, что NSG не виновата: Ip flow allowed

1
задан 12 May 2020 в 22:08
2 ответа

О наилучшей производительности, сложности обслуживания можно использовать перечисленные здесь [1] [2] в качестве краткой справки о том, что следует помнить при создании приложения, использующего облачное место хранения.

[1] https://cloud.google.com/storage/docs/best-practices

[2] https://cloud.google.com/compute/docs/disks/performance

-121--477566-

На основе этого ответа: https://serverfault.com/a/389136/129090 Я сделал следующее решение:

if ($server_protocol ~* "HTTP/1.0") {
return 444;
}

Примечание: С помощью этого я предотвращаю раскрытие внутреннего IP-адреса сервера nginx, однако HTTP-клиент не получает статус 444.

-121--477890-

Ответ содержится в этом исходящем соединении LB странице документа MS.

Исходящее подключение, для vnets с стандартным * балансировщиком нагрузки SKU не существует автоматически: Виртуальные машины, требующие исходящего доступа, должны иметь либо внешний IP-адрес, либо быть помещены в бэкэнд-пул балансировщика нагрузки И балансировщик нагрузки должен иметь правило исходящего трафика, определенное для требуемого исходящего трафика в этом бэкэнд-пуле (даже если правило просто принимает параметры по умолчанию).

* Для базового балансировщика нагрузки SKU это не требуется.

1
ответ дан 24 April 2021 в 00:34

Все виртуальные машины без общедоступного IP-адреса имеют подключение к Интернету, даже если вы не связали NSG с подсетью / NIC. После того, как вы его связали, вы можете протестировать с помощью Network Watcher, чтобы убедиться, что все «зеленое», как на изображениях ниже. Пожалуйста, подтвердите, что вы выполнили эти тесты именно так.

В вашем случае, когда вы сказали, что «Устранение неполадок с подключением» оказалось недоступно. Вы можете посмотреть эффективные маршруты NIC виртуальной машины. Убедитесь, что маршрут по умолчанию 0.0.0.0/0 указывает на Интернет и нет неправильного маршрута. Effective routes

Диагностика подключения показывает "Доступен" Connection troubleshoot

Здесь "Следующий переход" показывает Интернет Next hop

И, наконец, IP-поток показывает "Доступ разрешен" IP flow

2
ответ дан 24 April 2021 в 00:34

Теги

Похожие вопросы