Код: Выделить всё
#!/bin/sh
fw="/sbin/ipfw -q"
# flush
${fw} flush
# loopback
${fw} add 10 allow ip from any to any
${fw} add 20 skipto 1000 tag 1 ip from any to any in recv em0 keep-state
${fw} add 30 skipto 2000 ip from any to any out xmit em0
${fw} add 40 deny ip from any to any
# in recv em0
${fw} add 1000 allow ip from any to me
${fw} add 1010 deny ip from any to any
# out xmit em0
${fw} add 2000 allow ip from me to any
${fw} add 2010 deny ip from any to any
Код: Выделить всё
[root@ /etc] ping www.ru
PING www.ru (194.87.0.50): 56 data bytes
64 bytes from 194.87.0.50: icmp_seq=0 ttl=55 time=3.847 ms
ping: sendto: Permission denied
ping: sendto: Permission denied
...
Код: Выделить всё
http://nuclight.livejournal.com/124348.html
система
Код: Выделить всё
[root@ /etc] uname -a
FreeBSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Mon May 17 10:25:44 UTC 2010 root@: Mon May 17 10:25:44 UTC 2010 root@:/usr/obj/usr/src/sys/IPFW i386
Уже задумываюсь юзать связку pf+ipfw и reply-to городить через pf, но этого очень не хотелось бы.