FreeBSD - ipfw

Базовая настройка правил

/etc/ipfw.sh

 #!/bin/sh
 
 fwcmd="/sbin/ipfw"
 
 ${fwcmd} -f flush
 ${fwcmd} -f pipe flush
 ${fwcmd} -f queue flush
 
 #---------------------------- localhost --------------------------------------
 ${fwcmd} add allow ip from any to any via lo0
 #-----------------------------------------------------------------------------
 
 # ICMP
 ${fwcmd} add allow icmp from any to any icmptypes 0,3,8,11
 
 # Allow all output traffic
 ${fwcmd} add allow tcp from any to any established
 ${fwcmd} add allow ip from any to any frag
 ${fwcmd} add allow udp from me 123,1024-65535 to any
 ${fwcmd} add allow udp from any to me 123,1024-65535 
 ${fwcmd} add allow tcp from me to any setup
 
 # ssh
 ${fwcmd} add deny ip from "table(0)" to me
 ${fwcmd} add allow tcp from x.x.x.x, x.x.x.x to me 22 setup
 
 # nrpe
 ${fwcmd} add allow tcp from x.x.x.x to me 5666 setup
 
 # web
 ${fwcmd} add allow tcp from any to me 80 setup
 ${fwcmd} add allow tcp from x.x.x.x, x.x.x.x to me 443 setup
 
 # ftp
 # ----------------------------------------------------------------------
 ${fwcmd} add allow tcp from any to me 21 setup
 
 # passive mode
 ${fwcmd} add allow tcp from any to me 49152-65535 setup
 
 # active mode
 ${fwcmd} add allow tcp from me 20 to any setup
 # ----------------------------------------------------------------------

 # VPN protocol
 ${fwcmd} add allow gre from any to any
 
 # deny all other
 ${fwcmd} add 65000 deny ip from any to any

IP forwarding

Добавить правило в начало (после описания правил с интерфейсом lo0):

 # ipfw add fwd ip_доп_шлюза ip from ip_адрес_источника to any

Logging ip packets

Вместо запрещающего правила ставим:

 # ipfw add 65000 deny log ip from any to any

И смотрим /var/log/security

Device Polling

 # man 4 polling (обратить внимание на MIB и HZ)
 # man ifconfig - search -> polling

Dummynet

  • net.inet.ip.dummynet.io_fast - задаёт старое(«0», эмуляция канала) или новое поведение dummynet(«1», шейпирование канала)
  • net.inet.ip.dummynet.io_pkt - пакетов, прошедших через dummynet
  • net.inet.ip.dummynet.io_pkt_fast - пакетов, пропущенных мимо dummynet
  • net.inet.ip.dummynet.io_pkt_drop - пакетов, отброшенных dummynet

Ссылки

OUCH! pipe should have been idle!

Комментарии

 
blog/2011/12/08-freebsd_-_ipfw.txt · Последние изменения: 2011/12/08 16:48 — Антон Бугреев · []