Если не считать того что на 8.1 IPFW глючней некуда, то примерно так:
В /etc/sysctl.conf добавить:
net.inet.ip.fw.one_pass=1 #пакеты, прошедшие пайпы вылетают из фаервола, и дальше не идут по нему
net.inet.tcp.blackhole=2 #ядро убивает tcp пакеты, приходящие в систему на непрослушиваемые порты
net.inet.udp.blackhole=1 #ядро убивает udp пакеты, приходящие в систему на непрослушиваемые порты
net.inet.icmp.drop_redirect=1 #не обращаем внимания на icmp redirect
net.inet.icmp.log_redirect=0 #(N) и не логируем их
net.inet.icmp.maskrepl=0 #не отдавать по icmp маску своей подсети
net.inet.icmp.icmplim=100
net.inet.icmp.bmcastecho=0 #(N) защита от SMURF атак
net.inet.ip.redirect=0 #(N) не реагируем на icmp redirect
net.inet.ip.sourceroute=0 #(N) отключение маршрутизации от источника
net.inet.ip.accept_sourceroute=0 #(N) старый и бесполезный механизм
net.inet.ip.ttl=226 #(N)почему бы не поставить ttl побольше было 64 ;)
net.inet.tcp.drop_synfin=1 #(N)небольшая защита
net.inet.tcp.syncookies=1 #(N)от доса
kern.ipc.somaxconn=32768 #(N)увеличиваем размер очереди для сокетов
kern.maxfiles=204800 #(N)увеличиваем число открытых файловых дескрипторов
kern.maxfilesperproc=200000 #(N)кол-во ф.д. на каждоый процесс
kern.ipc.nmbclusters=524288 #(N)увеличиваем число сетевых буферов
kern.ipc.maxsockbuf=83886080 #(N)
kern.random.sys.harvest.ethernet=0 #(N)не использовать трафик и прерывания
kern.random.sys.harvest.interrupt=0 #(N)как источник энтропии для random'a
net.inet.ip.intr_queue_maxlen=10240 #(N)размер очереди ip-пакетов
net.route.netisr_maxqlen=4096
Если используете еще и dummynet, то
net.inet.ip.dummynet.io_fast=1 #заставляет dummynet работать побыстрее
net.inet.ip.dummynet.max_chain_len=2048 #(N)
net.inet.ip.dummynet.hash_size=65535 #(N)Было 256
net.inet.ip.dummynet.pipe_slot_limit=2048 #
Дальше в зависимости от сетевых, для em
dev.em.0.rx_int_delay=200
dev.em.0.tx_int_delay=200
dev.em.0.rx_abs_int_delay=4000
dev.em.0.tx_abs_int_delay=4000
dev.em.0.rx_processing_limit=4096
cat /boot/loader.conf
hw.em.rxd=4096
hw.em.txd=4096
hw.em.max_interrupt_rate=32000
для igb
dev.igb.0.rx_processing_limit=4096
Ядро соберите с HZ побольше.