>1.
>Приведите пожалуйста правильный пример правил ipfw (FreeBSD 4.7)для вывода сетки 192.168.0.1/24 в
>инет через NAT (rl0,ppp0)
>к примеру
>компутеры
>192.168.0.2
>192.168.0.3
>192.168.0.5
В файле конфигурации ядра:
options IPFIREWALL #firewall
options IPFIREWALL_VERBOSE #print information about
options IPFIREWALL_FORWARD #enable transparent proxy support
options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity
options IPDIVERT
В файле rc.conf у меня:
network_interfaces="lo0 rl0 rl1 ..."
ifconfig_rl1="inet xx.xx.xx.xx netmask 255.255.255.128" - внешний
ifconfig_rl0="inet 192.168.4.1 netmask 255.255.255.0" - внутренний
...
natd_enable="YES"
natd_interface="rl1" - это у меня, у тебя возможно будет ppp0
natd_flags="-m -s -d"
В файле rc.firewall:
ipfw1="/sbin/ipfw"
rule_num=1000
client() {
rule_num=$(($rule_num+10))
$ipfw1 add $rule_num pass tcp from $1 to any
rule_num=$(($rule_num+10))
$ipfw1 add $rule_num pass tcp from any to $1 established
}
$ipfw1 -f flush
$ipfw1 add 100 pass all from any to any via lo0
$ipfw1 add 200 deny all from any to 127.0.0.0/8
$ipfw1 add 300 deny icmp from any to any frag
$ipfw1 add 310 pass icmp from any to any
$ipfw1 add 320 pass all from any to any out via rl0
...
$ipfw1 add 540 divert natd all from any to any via rl1
$ipfw1 add 550 pass all from xx.xx.xx.xx to any out via rl1
$ipfw1 add 560 pass all from 192.168.4.0/24 to 192.168.4.0/24
client 192.168.4.5
client 192.168.4.10
client 192.168.4.13
$ipfw1 add 60000 deny log all from any to any - самое полезное правило, пробуешь работать, а потом смотришь файл /var/log/security:
там сразу будет видно, чего не хватает для того, чтобы пакет улетел
>2.
>ЧТо надо поправить в FreeBSD 4.7 для того чтобы при команде
>shutdown -p now
>выключалось питание компа, а не писалось что теперь это можно сделать
В файле конфигурации ядра:
device apm0 - убрать disable в этой строке и построить новое ядро
В файле rc.conf:
apm_enable="YES"