Характерной особенностью сетевой безопасности Windows Server 2012 и Windows Server 2012 R2 является то, что ответ на ICMP-запросы отключен в системе по умолчанию, иными словами, система не пингуется. Для того чтобы исправить эту проблему существует два системных способа:
- Разрешить пинги через настройки брандмауэра Windows;
- Воспользоваться программной оболочкой Powershell.
Первый способ
1. В главном меню открываем “Администрирование”, затем “Брандмауэр Windows в режиме повышенной безопасности”.
Альтернативный путь – Пуск -> Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры.
2. В новом окне, в левой части, выбираем Правила для входящих подключений, а в основной части ищем “Общий доступ к файлам и принтерам (эхо-запрос – входящий трафик ICMPv4)”. Кликаем правой кнопкой мыши и из контекстного меню выбираем “Включить правило”.
3. Проверяем результаты с другой машины.
Второй способ
Если вы не сторонник пользовательского интерфейса и/или он по какой-то причине не работает, то можно воспользоваться PowerShell.
2. Поочередно вводим две команды
Import-Module NetSecurity
Set-NetFirewallRule -DisplayName “Общий доступ к файлам и принтерам (эхо-запрос – входящий трафик ICMPv4)” -enabled True
Важно! Имена существующих правил следует указывать как они вписаны в общий список и на том же языке. В английской версии правило называется “File and Printer Sharing (Echo Request – ICMPv4-In)”
Следует обратить внимание, что если в сети используется протокол IPv6, то следует выполнять аналогичные действия подставляя протокол IPv6.
Если указанные методы решения проблем не помогли, то рекомендуем:
- проверить используется ли Firewall стороннего производителя и проверить его настройки;
- проверить разрешено ли хождение ICMP-трафика через шлюз.
Аналогичную проверку нужно сделать и на удаленной машине.
Аverage rating : 3.3
Оценок: 3
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700
300
- Remove From My Forums
-
Question
-
I recently installed 2012 R2 DataCenter edition (build 6.3.9600) on an HP Z400 workstation. And I’m noticing that often times when I reboot this server:
a) I can ping another machine from the R2 server but the other machine cannot ping R2 server
b) When I reboot the other machine though then ping can access the R2 server.
c) The R2 is joined to the domain and I’m using it just to host some VMs.
d) Before installing R2 on the server, it had the old Win 2012 server on it…which never have any of these issues.
What might be causing these issues with the R2 server?
Nimaba
Answers
-
By default, 2012 R2 is installed with ICMP echo, a.k.a. ping, disabled. You need to enable the rule in the firewall. There are both inbound and outbound rules.
.:|:.:|:. tim
-
Proposed as answer by
Thursday, December 5, 2013 1:50 AM
-
Marked as answer by
Justin Gu
Wednesday, December 18, 2013 1:27 AM
-
Proposed as answer by
You have just deployed a shiny new Windows 2012 R2 member server, and joined it to the domain. After the server has restarted you try and ping it from one of the other domain machines, but ping is dropped. You check the Network Location Awareness, as you have been burnt by that before, but that is fine and it can see the AD domain.
In the below example, note that the DNS request was successful. The name was resolved to an IP address, yes it is the correct one, and then the ICMP requests time out. What may also confuse matters is that other machines do respond to the ping requests. Note that the DC does respond, but the other server does not. Exchange is not yet installed onto that machine.
What typically happens at this point is that the Windows Firewall is disabled, and since ping now works the firewall is never re-enabled. This is not a good security practice at all. We aim to have defence in depth, and host based firewalls are one part of a holistic solution. Much better to figure out what is driving the behaviour, and then we can address it.
Default Windows Firewall Behaviour
Windows firewall was introduced way back with Windows XP SP2. XP SP2 was a huge overhaul, and introduced many security features. Windows Firewall is present and enabled by default in Windows today. Depending on the Windows roles and features which are installed, you will find different Windows Firewall rules enabled. This is an action which is performed when the role or feature was installed. These rules are required for the role or feature to function.
This accounts for the difference observed above. The domain controller responded, but the bare-bones OS did not. Why?
The installation of the AD DS role also adds the File Server role, and File Server role enables its Windows Firewall rules to allow ping. This is illustrated below.
Windows 2012 R2 Domain Controller
Windows 2012 R2 Member Server. Note that the File Server role is not installed.
Enabling IMCP v4 Using PowerShell
To enable the File and Printer Sharing (Echo Request — ICMPv4-In) rule in PowerShell we can use the below commands. Firstly we enable the rule, it applies to all profiles, and then we check the status:
Enable-NetFirewallRule -Name FPS-ICMP4-ERQ-In
Get-NetFirewallRule -Name FPS-ICMP4-ERQ-In
Note that there is a separate rule for IPv6, this is the rule called File and Printer Sharing (Echo Request — ICMPv6-In). You can also use the reference it using FPS-ICMP6-ERQ-In, see the note at the end of this post on the difference between these long and short names.
Enabling IMCP v4 Using MMC
There are a couple of ways to launch the graphical configuration tool. You will find Windows Firewall with Advanced Security listed under Administrative Tools. Alternatively you can run WF.msc and it will launch. The console is shown below. Note that the rules are filtered so that only the domain profile ones are shown. The File and Printer Sharing (Echo Request — ICMPv4-In rule is highlighted in the large red box.
Right click to enable the rule, and the status will change from grey to green.
Note that there is a separate rule for IPv6, this is the rule called File and Printer Sharing (Echo Request — ICMPv6-In).
Windows Firewall Intricacy
In the above examples, you will have noticed that the below syntax was used to work with the firewall rule:
Get-NetFirewallRule -Name FPS-ICMP4-ERQ-In
The Name attribute was used rather than DisplayName. This was to make the output more readable. The example below has the full display name of the rule, and since it has spaces must be enclosed within quotes. It is a bit more cumbersome to type and read.
Get-NetFirewallRule | where {$_.Displayname -like "File and Printer Sharing (Echo Request - ICMPv4-In)"}
Bonus
Now that you can adjust the individual Windows Firewall rule for ICMP, the next one you will typically want to review is the rule to allow SMB. This will allow you to connect to shared folders on the remote machine.
Hint — it is called File and Printer Sharing (SMB-In)
Cheers,
Rhoderick
Ping — утилита командной строки для проверки соединений в сетях TCP/IP. Она является одним из основных средств диагностики сети и входит в состав всех современных сетевых операционных систем. Принцип ее работы заключается в том, что она отправляет запросы (ICMP Echo-Request) протокола ICMP указаному узлу и фиксирует поступающие ответы (ICMP Echo-Reply).
Время между отправкой запроса и получением ответа позволяет определить задержки при передаче и частоту потери пакетов, а также оценить загруженность канала передачи данных. Полное отсутствие ICMP-ответов может означать, что удалённый узел неисправен.
В серверных ОС начиная с Windows Server 2008 входящие эхо-запросы по умолчанию запрещены и блокируются брандмауэром Windows. Сделано это скорее всего с целью предотвратить сетевые атаки типа ICMP Flooding (затопление атакуемого узла пакетами ICMP), которые могут вызвать отказ в обслуживании (Denial of Service, DoS). Безопасность конечно важна, однако в результате при попытке проверить доступность сервера мы получаем ошибку.
Для разрешения входящих эхо-запросов необходимо активировать соответствующее правило брандмауэра Windows. Вот несколько вариантов того, как это сделать.
Оснастка Windows Firewall with Adwanced Security
Самый простой способ разрешить ping — воспользоваться оснасткой «Windows Firewall with Adwanced Security». Для ее запуска нажимаем клавиши Win+R и вводим команду wf.msc.
Заходим в раздел входящих правил (Inbound Rules). Здесь нас интересует предопределенное правило для IPV4 — ″File and Printer Sharing (Echo Request — ICMPv4-In)″. Обратите внимание, что в таблице присутствуют два правила с одинаковым названием. На самом деле это одно и то же правило, просто настроенное для разных профилей — одно для доменного профиля, второе для общего и частного.
Активируем правило, отметив галочкой чекбокс Enabled и проверяем, чтобы в поле Action был выбран пункт ″Allow the connection″.
Переходим на вкладку Advanced и выбираем профили, для которых это правило будет действовать. Сохраняем правило и жмем OK. Теперь сервер можно пинговать.
При необходимости в дополнительных мерах безопасности произведем еще несколько настроек, которые защитят сервер от атак и позволят вам спокойно пользоваться Ping-ом.
Переходим на вкладку Scope и в поле Remote IP address указываем, с каких адресов разрешено принимать входящие запросы. Здесь можно указать один адрес, диапазон адресов либо целиком подсеть.
На вкладке Local Principals указываем локальных пользователей или группы, которым разрешается пинговать данный сервер. Как вариант, можно дать разрешение только группе локальных администраторов.
Групповые политики
В доменной среде разрешить Ping можно централизованно, через групповые политики. Открываем в редакторе групповых политик соответствующую GPO и переходим в раздел Computer Configuration–Policies–Windows Settings–Windows Firewall with Adwanced Security. Раскрываем дерево поддразделов и переходим на вкладку Inbound Rule. Кликаем правой клавишей мыши и в контекстном меню выбираем New Rule.
Выбираем Predefined (предопределенные правила) и находим в списке группу правил «File and Printer Sharing».
Находим правило ICMPv4-In и убираем выделение с остальных.
Выбираем для правила действие Allow the connection (разрешить подключениe) и жмем Finish, сохраняя правило.
После того как правило создано, его можно открыть и отредактировать, точно так же как и в локальной оснастке брандмауэра.
Утилита Netsh
Кроме графических средств для управления правилами можно воспользоваться утилитой командной строки netsh. В качестве примера активируем правило ICMPv4-In для всех профилей брандмауэра и ограничим удаленные IP подсетью 192.168.1.0/24:
netsh adwfirewall firewall set rule name= ″File and Printer Sharing (Echo Request — ICMPv4-In)″ new enable= yes action= allow profile= any remoteip= 192.168.1.0/24
Если вы используете Windows Server 2008 (не R2), то команда будет выглядеть немного по другому. Для включения правила:
netsh firewall set icmpsetting 8
И для отключения:
netsh firewall set icmpsetting 8 disable
PowerShell
Также разрешить эхо-запросы можно с помощью PowerShell. Правда воспользоваться этим способом можно только в Windows Server 2012, в остальных ОС отсутствует соответствующий PowerShell модуль. Для активации правила воспользуемся следующей командой:
Set-NetFirewallRule -Name FPS-ICMP-ERQ-In -Enabled True -Profile Any -Action Allow
Вроде бы все. Хотя нет, вспомнил еще один интересный момент. Для нормальной работы службы каталогов Active Directory необходимо, чтобы брандмауэр пропускал ICMP пакеты от клиентских компьютеров к контроллеру домена. Это нужно для получения клиентами сведений групповой политики. Поэтому на контроллерах домена есть отдельное правило брандмауэра, разрешающее входящий ping — ″Active Directory Domain Controller — Echo Request (ICMPv4-In)″. Это правило активно по умолчанию.
This guide will teach us how to enable ping response in Windows 2019/2016 and 2012 R2 servers. Though the original post was written with the screenshots from Windows 2012 R2 server, the same steps apply to any recent Windows servers, including version 2022.
Enabling ping will help you to monitor and troubleshoot network issues on your network. The ping request will work according to your domain environment policies and settings. If it works by default, we will also show you how to disable the ping in Windows servers. We have mentioned the Powershell commands if you want to work on a remote system or Core edition of Windows OS.
Read Also: How to enable ping on Windows 10/11 client PC
1) Go to the control panel and open ‘Windows Firewall’. There are plenty of ways to reach the control panel on a Windows server.
2) Click on ‘Advanced Settings.’
Additionally, you can search for ‘Firewall’ in Windows search to reach the advanced Firewall settings as below.
3) In the earlier Operating Systems, we need to create a firewall rule to allow ICMP echo packets. Luckily the rule is already there, and we just need to enable it.
To enable the inbound rule allowing ICMP packets, select ‘Inbound Rules.’
Locate the ‘File and Printer Sharing (Echo Request –ICMPv4-In’), right-click on it and select Enable Rule.
That will allow incoming ping requests and respond to them without completely disabling the Windows firewall service. As we enabled this rule only for IPv4 packets, we need to enable a separate similar rule for ICMPv6-In for the IPv6 network.
The below screenshot shows a Windows server started responding to ping requests once the above rule was enabled.
In a similar scenario, if a server is responding to ping/ICMP requests but needs to stop it for tight security, you can simply disable the same rule.
Visit the Windows firewall advances settings and disable the ‘File and Printer Sharing (Echo Request –ICMPv4-In’) rule.
Enable Ping by PowerShell Commands in Windows Servers
Geeks like command lines, especially the Windows OS admins love PowerShell. We can use the below commands to enable/disable ping on Windows Server and Client Operating Systems. Especially if you work on remote systems via PowerShell or have the Server Core OS without GUI.
Make sure to run the below commands ‘as administrator’ on the command prompt or PowerShell.
Enable IPv4 – This will create an exception in the default Windows firewall rule.
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol="icmpv4:8,any" dir=in action=allow
For IPv6:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol="icmpv6:8,any" dir=in action=allow
To disable ping on IPv4:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=block
For IPv6:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=block
As ping is a useful utility to troubleshoot and find the presence of a network device, it completely depends on the network security policies of your environment to enable or disable it. We mentioned the easy steps you can do by GUI and command prompt in this guide.