Отключить ICMP-ответ на брандмауэре CentOS 7, за исключением некоторых IP-блоков

Отключить ICMP-ответ на брандмауэре CentOS 7, за исключением некоторых IP-блоков

У меня есть машина Centos 7 с FirewallD, а net.ipv4.conf.icmp_echo_ignore_all установлен в значение 0. Я ищу конфигурации брандмауэра, чтобы отключить ответы на ping на внешние IP-адреса, но разрешить некоторым блокам IP (например, 192.168.1.0/24, 10.0.0.0/8 и т. д.) получать ответы на ping.

Как мне это сделать?

решение1

Вот решение сiptables

[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 192.168.0.0-192.168.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 10.0.0.0-10.255.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -p ICMP --icmp-type 8 -j DROP

Вот как это должно выглядеть в итоге:

[root@ttucker ~]# iptables -v -n -L INPUT | grep icmp
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 192.168.0.0-192.168.255.255 icmptype 8
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 10.0.0.0-10.255.255.255 icmptype 8
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Iptables работает, оценивая правила, которые у него есть, в порядке сверху вниз по заданной цепочке. В данном случае это цепочка INPUT. Когда iptables находит правило, которое соответствует его условиям, он выполняет действие, указанное в -j.

Итак, в этом примере мы утверждаем, что если источник находится в диапазоне 10.0.0.0/8 или 192.168.0.0/16, то действие будет ACCEPT. Если адрес источника не находится в этом диапазоне, то применяется третье правило, которое гласит DROP.

Примечание: вам также необходимо убедиться, что в настоящее время у вас нет никаких текущих правил, которые принимают весь трафик ICMP, предшествующих этим правилам.

Средства -A INPUTдля добавления в INPUTцепочку. Итак, сначала вы хотите перечислить всю входную цепочку и удалить любые другие правила ICMP, которые там существуют.

Вот как составить список правил цепочки INPUT:

iptables -v -n -L INPUT

Пожалуйста, дайте мне знать, если это вам подходит или у вас возникнут дополнительные вопросы.

Связанный контент