Как я могу включить Ping на виртуальной машине Azure Linux, Centos 6.6 - я знаю, что мы можем включить это на виртуальной машине Windows, но как это сделать для виртуальной машины Linux?
Спасибо.
По умолчанию Azure блокирует ICMP-трафик с помощью групп сетевой безопасности. Для включения необходимо создать специальное разрешающее правило. По соображениям безопасности Azure не разрешает ICMP из Интернета
Некоторые примеры того, как это сделать:
http://setspn.blogspot.com.es/2015/08/azure-quick-tip-block-or-allow-icmp.html
Пинг внешнего адреса с виртуальной машины Azure - не работает, поскольку Azure не разрешает исходящий ICMP
Проверка связи с виртуальной машиной Azure с внешнего адреса - не работает, поскольку Azure не разрешает входящий ICMP
Пинг между виртуальными машинами Azure с использованием внутреннего IP-адреса (DIP) - работает, но брандмауэр гостевой ОС должен быть настроен так, чтобы разрешить его, поскольку по умолчанию ICMP блокируется гостем.
Пинг между виртуальной машиной Azure и локальной средой через Azure Connect (туннель IPSec VPN точка-точка) или виртуальный сетевой шлюз (туннель IPSec VPN типа «сеть-сеть») - работает, но брандмауэр гостевой ОС должен быть настроен так, чтобы разрешить его как по умолчанию ICMP заблокирован гостем.
В качестве альтернативы проверке связи с помощью ICMP вы можете проверить подключение, пытаясь достичь определенного порта TCP с помощью таких инструментов, как TCPing, PortQuery или NMap. Они будут работать с входящей связью с виртуальной машиной Azure, если вы открыли конечную точку для порта, к которому пытаетесь подключиться, и гостевой брандмауэр позволяет это, и что-то прослушивает этот порт. Для Azure Connect и виртуальных сетевых шлюзов вам не нужны конечные точки, потому что вы общаетесь через VPN-туннель, но гостевой брандмауэр все равно должен разрешить порт, который вы тестируете, и что-то должно прослушивать этот порт.
Ничего не требуется для включения ответов ping, что происходит по умолчанию.
Если от целевого хоста нет ответов ICMP (ping), это фактически означает, что они блокируются где-то по пути. Это может произойти в любой момент в любом направлении, но чаще всего происходит на брандмауэре вашей виртуальной машины.
Поэтому вы должны подтвердить, что брандмауэр виртуальной машины блокирует эхо-запрос, отключив его. Если это сработает, просто активируйте его повторно и добавьте правило, разрешающее его.
Если отключение брандмауэра виртуальной машины по-прежнему не обеспечивает ответа на запросы ICMP, вам следует использовать traceroute
(или tracert
в Windows), чтобы увидеть, до какого момента вы получите ответы, и изучите два перехода до IP-адреса вашей виртуальной машины. В этот момент он, скорее всего, будет заблокирован брандмауэром хоста вашей виртуальной машины.
После некоторого исследования я смог заставить это работать с помощью следующей команды PS oneliner.
Get-AzureRmNetworkSecurityGroup -Name "nsgName" -ResourceGroupName "GroupName" | Add-AzureRmNetworkSecurityRuleConfig -Name "AllowPing" -Description "Allow Ping" -Access "Allow" -Protocol "*" -Direction "Inbound" -Priority 40002 -SourceAddressPrefix "*" -SourcePortRange "*" -DestinationAddressPrefix "*" -DestinationPortRange "*" | Set-AzureRmNetworkSecurityGroup
Вы можете получить входящий ping, разрешив порт 0 в правиле NSG.
Get-AzureRmNetworkSecurityGroup -Name "nsgName" -ResourceGroupName "GroupName" |
Add-AzureRmNetworkSecurityRuleConfig -Name "AllowPing" -Description "Allow Ping" -Access
"Allow" -Protocol "*" -Direction "Inbound" -Priority 40002 -SourceAddressPrefix
"*" -SourcePortRange "*" -DestinationAddressPrefix "*" -DestinationPortRange "0" |
Set-AzureRmNetworkSecurityGroup
Мне удалось выполнить эхо-запрос из виртуальной машины Azure под управлением Ubuntu 18 LTS, но я не могу выполнить эхо-запрос из внешнего местоположения на виртуальную машину.
Я осмотрелся и обнаружил, что входящие запросы проверки связи ICMP отключены Azure. Они рассматривают возможность его включения или, по крайней мере, разрешения одному из них включить его на своем портале в разделе «Сеть».