Я установил несколько виртуальных машин Windows и одну виртуальную машину linux на лазурном сервере, и ни одна из них не может получить доступ к Интернету.
Ни на одной из виртуальных машин нет общедоступные IP-адреса. Я могу RDP в окнах / ssh в Linux-боксе из-за правил NAT для входящего трафика на балансировщике нагрузки.
Я применил группы безопасности сети к NI каждой виртуальной машины (в самой виртуальной сети нет NSG). Эти группы безопасности сети разрешают исходящий интернет-трафик. Чтобы проверить это, я использовал тест «Проверка IP потока», который показывает, что трафик не блокируется правилами NSG.Я также использовал средство «Устранение неполадок подключения» Наблюдателя за сетью, которое показывает, что соединение любой из виртуальных машин с IP-адресом в Интернете «недоступно», но не показывает никаких проблем в качестве причины.
Я могу разрешить доменные имена (используя » host "на linux, например), поэтому я не считаю, что это проблема DNS.
Почему я не могу получить доступ в Интернет с этих виртуальных машин? Спасибо за внимание.
---- Редактировать 1 ----
Это результат, который я вижу в "Устранении неполадок подключения" Наблюдателя за сетью:
---- Изменить 2 ----
Удаление NSG сетевого интерфейса на рассматриваемой виртуальной машине не помогает. Я дважды проверил, что у меня нет сети безопасности сети в подсети виртуальной машины.
Правила для входящего и исходящего трафика в группе безопасности сети:
В рассматриваемой подсети для параметра «NAT-шлюз» установлено значение «none» (и, действительно, нельзя задать другое значение).
Network Watcher «Проверка IP-потока» утверждает, что NSG не виновата:
О наилучшей производительности, сложности обслуживания можно использовать перечисленные здесь [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 это не требуется.
Все виртуальные машины без общедоступного IP-адреса имеют подключение к Интернету, даже если вы не связали NSG с подсетью / NIC. После того, как вы его связали, вы можете протестировать с помощью Network Watcher, чтобы убедиться, что все «зеленое», как на изображениях ниже. Пожалуйста, подтвердите, что вы выполнили эти тесты именно так.
В вашем случае, когда вы сказали, что «Устранение неполадок с подключением» оказалось недоступно. Вы можете посмотреть эффективные маршруты NIC виртуальной машины. Убедитесь, что маршрут по умолчанию 0.0.0.0/0 указывает на Интернет и нет неправильного маршрута.
Диагностика подключения показывает "Доступен"