Запретить ICMP трафик к серверу

Запретить ICMP трафик к своему VPS можно добавив правило в сетевой фильтр iptables, с указанием источника, адресата, типа протокола и нужного действия.

 

Запретить ICMP трафик к своему VPS

 

Адрес сервера в примере -123.123.123.123

 

С локального компьютера отправляем один пакет ICMP

ping -c 1 123.123.123.123

PING 123.123.123.123 (123.123.123.123) 56(84) bytes of data.
64 bytes from 123.123.123.123: icmp_seq=1 ttl=53 time=75.7 ms

— 123.123.123.123 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 75.787/75.787/75.787/0.000 ms

 

Потеря 0%, значит никаких запретов изначально нет.

 

Чтобы ограничить трафик требуется отредактировать правила iptables на сервере.

 

iptables -A INPUT -p icmp —icmp-type 8 -s 0/0 -d 123.123.123.123 -m state —state NEW,ESTABLISHED,RELATED -j DROP

В качестве действия указываем DROP

 

iptables-save

# Generated by iptables-save v1.6.0 on Fri Aug 31 06:48:58 2018
*filter
:INPUT ACCEPT [7:488]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:680]
-A INPUT -d 123.123.123.123/32 -p icmp -m icmp —icmp-type 8 -m state —state NEW,RELATED,ESTABLISHED -j DROP
COMMIT

 

 

Вновь проверяем с локального компьютера

ping -c 1 123.123.123.123

PING 123.123.123.123 (123.123.123.123) 56(84) bytes of data.

— 123.123.123.123 ping statistics —
1 packets transmitted, 0 received, 100% packet loss, time 0ms

 

Потери 100%, входящие ICMP  пакеты будут отбрасываться во всех случаях.

 

 

Стоит отметить, что ICMP пакеты могут быть двух типов:

0 — echo-reply

8 — echo-request

 

В примере заблокированы только те, которые относятся к типу echo-request

 

 

Запретить исходящий ICMP трафик с сервера можно так

iptables -A OUTPUT -p icmp —icmp-type 8 -j DROP

 

Чтобы правила сохранились после перезагрузки сервера можно установить дополнительно пакет iptables-persistent