FreeBSD ставил на виртуальную машину, сразу после этого пересобрал ядро, выбросив SCSI, USB, ISA устройства, и добавил включение файрвола.
Скрипт из /usr/local/etc/rc.d/ipfw.sh запускается, а прописанный в firewall_script="/usr/local/etc/ipfw.rules" нет. Хотя если запустить его sh /usr/local/etc/ipfw.rules, то он работает.
Код: Выделить всё
megavint# uname -v
FreeBSD 7.0-RELEASE #2: Mon Mar 9 17:04:42 UTC 2009 admin@megavint.by:/usr/obj/usr/src/sys/MY
megavint# cat /usr/src/sys/i386/conf/MY
....
options IPFIREWALL
options IPDIVERT
options DUMMYNET
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_FORWARD
megavint# ipfw show
01000 202 21324 allow ip from any to any
65535 14 924 deny ip from any to any
megavint# cat /etc/rc.conf
gateway_enable="YES"
hostname="megavint.by"
ifconfig_em0="inet 192.168.0.10 netmask 255.255.255.0"
keymap="ru.koi8-r"
sshd_enable="YES"
firewall_enabled="YES"
firewall_script="/usr/local/etc/ipfw.rules"
megavint# ls -l /usr/local/etc/
total 4
-rwxr-xr-x 1 root wheel 80 Mar 9 18:51 ipfw.rules
drwxr-xr-x 2 root wheel 512 Mar 9 18:36 rc.d
megavint# cat /usr/local/etc/ipfw.rules
#!/bin/sh
fw=/sbin/ipfw
${fw} -f -q flush
${fw} -q add 2000 allow ip from any to any
megavint# cat /usr/local/etc/rc.d/ipfw.sh
#!/bin/sh
fw="ipfw -q add"
/sbin/ipfw -q -f flush
${fw} 1000 allow ip from any to any
megavint# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:0c:29:3d:6b:fc
inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000