>Не получается. Всё ходить перестаёт. Вообще всё, даже пинг.
>Помогите арзобраться и я отстану.
Вот пример рабочего конфига.
Обратить внимание на строку
$ipfw add 10000 divert natd ip from $localnet_192 to any out xmit rl0
где rl0 - внешний интерфейс GW
Если очень хочется пускать только отдельных клиентов, то можно на каждый IP написать свое правило:
$ipfw add 10000 divert natd ip from GOOD_IP_1 to any out xmit rl0
$ipfw add 10001 divert natd ip from GOOD_IP_2 to any out xmit rl0
....
$ipfw add 10002 divert natd ip from GOOD_IP_N to any out xmit rl0
Все остальные будут автомтически запрещены.
-------------------------------------------------------------------
#!/bin/sh
###
ipfw="/sbin/ipfw"
localnet="212.4.1.32/28"
localnet_192="192.168.200.0/24"
gw="212.4.1.45"
akm="212.4.1.0/24"
ns="212.4.1.152"
ns1="212.4.1.130"
ns2="212.4.1.131"
nsakm="212.4.1.247"
########################################################
$ipfw -f flush
# loopback
$ipfw add 100 allow ip from any to any via lo0
$ipfw add 130 deny ip from any to 127.0.0.0/8
$ipfw add 160 deny ip from 127.0.0.0/8 to any
# RFC
$ipfw add 1100 deny ip from any to 192.168.0.0/16 in via rl0
$ipfw add 1150 deny ip from 192.168.0.0/16 to any in via rl0
$ipfw add 1200 deny ip from any to 10.0.0.0/8 via rl0
$ipfw add 1250 deny ip from 10.0.0.0/8 to any via rl0
$ipfw add 1300 deny ip from any to not $localnet in via rl0
################################################################
# NATD natd = 8668
$ipfw add 10000 divert natd ip from $localnet_192 to any out xmit rl0
$ipfw add 11000 divert natd ip from any to $gw
###################################################################
# ADMIN
$ipfw add 20050 allow tcp from any to $gw established
# $ipfw add 20100 allow tcp from any to $gw 22
$ipfw add 20200 allow tcp from any to $gw 22
$ipfw add 20300 allow tcp from $gw to any
# NS
#$ipfw add 20400 allow udp from $localnet to $ns
$ipfw add 20500 allow udp from $nsakm to $localnet
#$ipfw add 20600 allow udp from $localnet to $ns1
$ipfw add 20700 allow udp from $ns1 to $localnet
#$ipfw add 20800 allow udp from $localnet to $ns2
$ipfw add 20900 allow udp from $ns2 to $localnet
# main configa
$ipfw add 40000 allow tcp from any to $localnet established
$ipfw add 40100 allow ip from $localnet to any
# icmp
$ipfw add 50000 allow icmp from any to $localnet icmptype 0
$ipfw add 50100 allow icmp from $localnet to any icmptype 8
####################################################################
# NEW network
$ipfw add 60000 allow ip from $localnet_192 to any
$ipfw add 60100 allow tcp from any to $localnet_192 established
#ICMP
$ipfw add 60200 allow icmp from any to $localnet_192 icmptype 0
$ipfw add 60300 allow icmp from $localnet_192 to any icmptype 8
# DNS
$ipfw add 60400 allow udp from $ns to $localnet_192
$ipfw add 60500 allow udp from $ns1 to $localnet_192
$ipfw add 60600 allow udp from $ns2 to $localnet_192
####################################################################
# DENY ALL
$ipfw add 65000 deny ip from any to any