проблема. есть фря 9, на ней ядерный NAT
firewall_enable="YES"
firewall_nat_enable="YES"
при этом пишу
firewall_type="open"
все великолепно ходит.
однако, пишу
firewall_type="файл_своих_правил"
отваливаются оба сетевых фейса. файл_своих_правил содержит тот же набор что и open (специально брал ipfw show и копировал в файл).
Все сервисы, и пр. настройки остаются неизменны.
В чем беда ума не приложу.
> firewall_type="файл_своих_правил"файлы со сценарием firewall прописываются:
firewall_script="файл_своих_правил"firewall_type - указывает на один из разделов файла /etc/rc.firewall
>> firewall_type="файл_своих_правил"
> файлы со сценарием firewall прописываются:
> firewall_script="файл_своих_правил"
> firewall_type - указывает на один из разделов файла /etc/rc.firewallhttp://www.freebsd.org/doc/en/books/handbook/firewalls-ipfw....
firewall_type="open"
Available values for this setting are:
open -- pass all traffic.
client -- will protect only this machine.
simple -- protect the whole network.
closed -- entirely disables IP traffic except for the loopback interface.
UNKNOWN -- disables the loading of firewall rules.
filename -- absolute path of file containing firewall rules. <<<
последнее и пытаюсь делать - пихаю, таким образом, не скрипт, а файл со списком правил.
>[оверквотинг удален]
> firewall_type="open"
> Available values for this setting are:
> open -- pass all traffic.
> client -- will protect only this machine.
> simple -- protect the whole network.
> closed -- entirely disables IP traffic except for the loopback interface.
> UNKNOWN -- disables the loading of firewall rules.
> filename -- absolute path of file containing firewall rules. <<<
> последнее и пытаюсь делать - пихаю, таким образом, не скрипт, а файл
> со списком правил.фалик-то, покажите
>[оверквотинг удален]
>> Available values for this setting are:
>> open -- pass all traffic.
>> client -- will protect only this machine.
>> simple -- protect the whole network.
>> closed -- entirely disables IP traffic except for the loopback interface.
>> UNKNOWN -- disables the loading of firewall rules.
>> filename -- absolute path of file containing firewall rules. <<<
>> последнее и пытаюсь делать - пихаю, таким образом, не скрипт, а файл
>> со списком правил.
> фалик-то, покажитеупс. показываю
firewall_type="файл"
add 00050 nat 123 ip4 from any to any via rl0
add 65000 allow ip from any to anyipfw show
00050 380 20990 nat 123 ip4 from any to any via rl0
00100 86 7166 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 0 0 deny ip from any to ::1
00500 0 0 deny ip from ::1 to any
00600 0 0 allow ipv6-icmp from :: to ff02::/16
00700 0 0 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 0 0 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 0 0 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 0 0 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65000 1239 110036 allow ip from any to any
65535 8 576 deny ip from any to anyне работает
-------------------------------------------------------
firewall_type="open"
ipfw show
00050 1797 221747 nat 123 ip4 from any to any via rl0
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 0 0 deny ip from any to ::1
00500 0 0 deny ip from ::1 to any
00600 0 0 allow ipv6-icmp from :: to ff02::/16
00700 0 0 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 0 0 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 0 0 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 0 0 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65000 1940 225629 allow ip from any to any
65535 6 472 deny ip from any to anyработает
что-то не могу с ядерным натом разобраться. пустил по-старинке natd - все работает нормально.
решил задачу. спасибо за участие.
> решил задачу. спасибо за участие.Привыкните говорить, как решили.
nat 123 config?
>> решил задачу. спасибо за участие.
> Привыкните говорить, как решили.
> nat 123 config?привыкните общаться без приказного тона!
да, вся проблема оказалась в неверном прочтении правила nat.
на данный момент первичный файл правил такой
add 00001 count ip from any to any out via rl0
add 00002 count ip from any to any in via rl0
add 00003 count ip from any to any out via rl1
add 00004 count ip from any to any in via rl1
nat 123 config if rl0 log
add 00050 nat 123 ip from any to any via rl0
add 00090 check-state
add 00100 deny icmp from any to any frag
add 00101 allow icmp from any to any icmptypes 0,3,8,11
add 00102 deny icmp from any to any
add 00150 deny ip from any to any dst-port 69,135-139,445,901-1110,20034,31337,6000-9999,10001-19999 in via rl0
add 65000 allow ip from any to anyосталось убедить ядерный NAT транслировать порты и порядок.
пока с конструкцией неочень разобрался.
>>> решил задачу. спасибо за участие.
>> Привыкните говорить, как решили.
>> nat 123 config?
> привыкните общаться без приказного тона!Не знаю где вы увидели приказной тон.
>[оверквотинг удален]
> add 00050 nat 123 ip from any to any via rl0
> add 00090 check-state
> add 00100 deny icmp from any to any frag
> add 00101 allow icmp from any to any icmptypes 0,3,8,11
> add 00102 deny icmp from any to any
> add 00150 deny ip from any to any dst-port 69,135-139,445,901-1110,20034,31337,6000-9999,10001-19999
> in via rl0
> add 65000 allow ip from any to any
> осталось убедить ядерный NAT транслировать порты и порядок.
> пока с конструкцией неочень разобрался.порты транслируются так (кусок из своего конфига, 192.168.0.31 - хост на который транслируем):
${fwcmd} nat 10 config if ${net_if} redirect_port tcp 192.168.0.31:5000-5100 5000-5100
${fwcmd} add 10 nat 10 tcp from any to any
${fwcmd} nat 20 config if ${net_if} redirect_port tcp 192.168.0.31:3479 3479
${fwcmd} add 20 nat 20 tcp from any to any
> порты транслируются так (кусок из своего конфига, 192.168.0.31 - хост на который
> транслируем):
> ${fwcmd} nat 10 config if ${net_if} redirect_port tcp 192.168.0.31:5000-5100 5000-5100
> ${fwcmd} add 10 nat 10 tcp from any to any
> ${fwcmd} nat 20 config if ${net_if} redirect_port tcp 192.168.0.31:3479 3479
> ${fwcmd} add 20 nat 20 tcp from any to anyДа, работает. Спасибо. Что-то видимо недопонял в мануале. Бывает.
>[оверквотинг удален]
> add 00004 count ip from any to any in via rl1
> nat 123 config if rl0 log
> add 00050 nat 123 ip from any to any via rl0
> add 00090 check-state
> add 00100 deny icmp from any to any frag
> add 00101 allow icmp from any to any icmptypes 0,3,8,11
> add 00102 deny icmp from any to any
> add 00150 deny ip from any to any dst-port 69,135-139,445,901-1110,20034,31337,6000-9999,10001-19999
> in via rl0
> add 65000 allow ip from any to anyа зачем нужен check-state, если нет ни одного keep-state?
>[оверквотинг удален]
>> nat 123 config if rl0 log
>> add 00050 nat 123 ip from any to any via rl0
>> add 00090 check-state
>> add 00100 deny icmp from any to any frag
>> add 00101 allow icmp from any to any icmptypes 0,3,8,11
>> add 00102 deny icmp from any to any
>> add 00150 deny ip from any to any dst-port 69,135-139,445,901-1110,20034,31337,6000-9999,10001-19999
>> in via rl0
>> add 65000 allow ip from any to any
> а зачем нужен check-state, если нет ни одного keep-state?кусок от старой конф. остался