IPFW: фильтрация ICMP запросов

Полный список типов запросов/ответов приведен ниже:

  • 0 – echo reply (echo-ответ, пинг)
  • 3 – destination unreachable (адресат недосягаем)
  • 4 – source quench (подавление источника, просьба посылать пакеты медленнее)
  • 5 – redirect (редирект)
  • 8 – echo request (echo-запрос, пинг)
  • 9 – router advertisement (объявление маршрутизатора)
  • 10 – router solicitation (ходатайство маршрутизатора)
  • 11 – time-to-live exceeded (истечение срока жизни пакета)
  • 12 – IP header bad (неправильный IP-заголовок пакета)
  • 13 – timestamp request (запрос значения счетчика времени)
  • 14 – timestamp reply (ответ на запрос значения счетчика времени)
  • 15 – information request (запрос информации)
  • 16 – information reply (ответ на запрос информации)
  • 17 – address mask request (запрос маски сети)
  • 18 – address mask reply (ответ на запрос маски сети)

Правила для IPFW:

cmd=»ipfw -q add»



pif=»em0″



#Enable allow from world to me some types of ICMP



$cmd 00500 allow icmp from any to me in via $pif icmptype 3,8,12



#Enable some types of ICMP from me to world



$cmd 00510 allow icmp from me to any out via $pif icmptype 0,3,4,11,12



#Disable ICPM any another

$cmd 00520 deny log icmp from any to me in via $pif icmptype 5,9,10,13,15,17,18



#Disable ICPM frag 

$cmd 00530 deny icmp from any to any frag






После всего, не забудем перезагрузить IPFW:

# /etc/rc.d/ipfw restart

net.inet.ip.fw.enable: 1 -> 0

net.inet6.ip6.fw.enable: 1 -> 0

Firewall rules loaded.

Firewall logging enabled.



2019-10-24T12:02:26
FreeBSD