Имеем FreeBSD 4.9Ядро скомпилировано таким образом:
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options TCP_DROP_SYNFIN
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFILTER
options IPFILTER_LOG
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
options DUMMYNET
options SC_DISABLE_REBOOT
options RANDOM_IP_IDИмеем 2 интерфейса: 1) rl0 смотрящий к провайдеру имеющий апий адрес ХХХ.ХХХ.ХХХ.ХХХ 2) rl смотрящий внутрь сети имеющий апий 192.168.0.1
Хотелось бы сделать так, чтобы открывать через Nat определенные порты а не пускать всю сеть. Перепробовал несколько вариантов а то есть:
1) Попробовал написать правила, то есть сделал скриптик вот он.
!/bin/sh
/sbin/ipfw add 395 divert 8668 ip from 192.168.0.0/24 to 194.67.27.82 out xmit rl0
#/sbin/ipfw add 396 divert 8668 ip from 192.168.0.0/24 to 213.255.231.81 out xmit rl0
/sbin/ipfw add 397 divert 8668 ip from 192.168.0.0/24 to 213.130.26.187 out xmit rl0
/sbin/ipfw add 398 divert 8668 ip from 192.168.0.0/24 to 213.130.26.188 out xmit rl0
/sbin/ipfw add 400 divert 8668 ip from 192.168.0.0/24 to 213.130.26.189 out xmit rl0
/sbin/ipfw add 401 divert 8668 ip from 192.168.0.0/24 to 213.130.26.190 out xmit rl0
/sbin/ipfw add 402 divert 8668 ip from 192.168.0.0/24 to 195.58.229.186 out xmit rl0
/sbin/ipfw add 403 divert 8668 ip from any to XXX.XXX.XXX.XXX (P.S. RL0)
/sbin/natd -a XXX.XXX.XXX.XXX -p 8668 (P.S. RL0)То есть этими правилами я выпускаю сеть свою на определенные айпи адреса напрямую. Что самое инетерсное все работает нормально и проблем нет.
2) Второй вариант я пробовал через прогу IPNAT вот ее правила...
# Computer Admin
map rl0 192.168.0.22/32 -> ХХХ.ХХХ.ХХХ.ХХХ/32 portmap tcp/udp 21:21
map rl0 192.168.0.22/32 -> ХХХ.ХХХ.ХХХ.ХХХ/32 portmap tcp/udp 25:25
map rl0 192.168.0.22/32 -> ХХХ.ХХХ.ХХХ.ХХХ/32 portmap tcp/udp 110:110
map rl0 192.168.0.22/32 -> ХХХ.ХХХ.ХХХ.ХХХ/32 portmap tcp/udp 443:443
map rl0 192.168.0.22/32 -> ХХХ.ХХХ.ХХХ.ХХХ/32 portmap tcp/udp 5190:5190Да... все хорошо бы но вот проблемс... когда я вставляю эти правила IPNAT и запускаю их, то у меня комп админвский напрямую шурует в инет, минуя прокси сервер. То есть если в эксплорере убрать галочку использовать прокси сервер и поставить Автоматическое определение параметров, то шурует напрямую...минуя проксю....
Народ помогите найти оптимальный рабочий вариант, просто сил нет уже... что только не делал. Инетерсует как можно сделать так, чтобы выпускать определенный айпи адрес ну например 192.168.0.22 через нат, только на определенные порты, 21, 25, 110, 443, 5190.И как с проксей то решить проблемс, ведь шуруют напрямую минуя прокси сервер... :-(
Да и еще... если я запускаю IPNAT то у меня админская машина могет ходить в инет напрямую, минуя прокси сервер, а вот как я эти правила коментирую то все нормально... то есть напрямую ен пускает... в чем траблы, поомгите пожалуйста....
divert natd ip from $iinet to any out via $oif
divert natd ip from any to $oip
Да... но я этими правилами вывожу определенный айпи адрес внутренней сети в инет, а такой вариант не подходит... меня инетерсует открыть определенный порт и все!
>
> divert natd ip from $iinet
>to any out via $oif
> divert natd ip from any
>to $oip
кури теорю NAT