Поясните в общих чертах что-то изменилось во фре со времен 6-ки или я что-то не догоняю? Не могу нормально НАТ настроить. Беглое гугление показало, что теперь, якобы, поддержку НАТа из ядра убрали и нужно пару опций добавлять. Раньше я что-то подобного не припомню. Причем, теперь не ясно откуда ipfw берет правила. В рц.конф четко указал тип, а ipfw -a list выдает какой-то "левак" да еще и с ИПв6-ыми правилами, которые я вообще нигде не упоминал. После рестарта ipfw правила, наконец-то ки, считываются из указанного мной типа и перемешиваются с изначальными. Кстати, раньше был отдельный файл rc.firewall6, а теперь его нет. Бардак, вобщем.
что-то ты путаешь - никогда поддержки ната в ядре не было. и для divert'a всегда требовалось пересобирать ядро.
касательно ipv6 - да, теперь оно включено в ядро по умолчанию. но кажется, что ты явно где-то напутал - давай вывод rc.confps. для использования ядерного ната достаточно трех строк
$ipfw nat 10 config if <внешний_интерфейс> deny_in reset same_ports
$ipfw add nat 10 all from <внутренняя_сеть> to any via <внешний_интерфейс>
$ipfw add nat 10 all from any to <внешний_ip> via <внешний_интерфейс>да и то последние можно слить в одну
В рц.конф ничего особенного.gateway_enable="YES"
hostname="router.aks.spb.ru"ifconfig_ed0="inet 212.232.72.122 netmask 255.255.255.240"
# ifconfig_ed0="DHCP"
ifconfig_vr0="inet 192.168.10.1 netmask 255.255.255.0"
# dhcp_program="/sbin/dhclient"
# dhcp_flags=""defaultrouter="212.232.72.113"
# inetd_enable="YES"
ipnat_enable="YES"firewall_enable="YES"
firewall_type="VULVA"
firewall_logging="YES"
natd_enable="YES"
natd_interface="ed0"keymap="ru.koi8-r"
mousechar_start="3"
moused_enable="YES"
moused_port="/dev/psm0"
moused_type="auto"named_enable="YES"
named_flags="-u bind"
ntpdate_enable="YES"
ntpdate_hosts="ntp.psn.ru"sshd_enable="YES"
# squid_enable="YES"
# mpd_enable="YES"Собссно, с НАТом разобрался - пересобрал ядро и все работает. Меня сейчас более смущают правила файерволла. Вот тот тип, что у меня в конфиге указан, выглядит так:
[Vv][Uu][Ll][Vv][Aa])
${fwcmd} add 100 divert natd ip from 192.168.10.0/24 to any via ed0
${fwcmd} add 9998 deny ip from any to any via lo0
${fwcmd} add 9999 deny ip from any to 127.0.0.0/8
${fwcmd} add 10000 deny ip from 127.0.0.0/8 to any
${fwcmd} add 60000 divert natd ip from any to any in via ed0
${fwcmd} add 65000 allow ip from any to any
${fwcmd} add 65535 deny ip from any to any;;
А если я говорю ipfw -a list, вижу вот это:
router# ipfw -a list
00100 224 13996 allow ip from any to any via lo0
00100 24210 24074599 divert 8668 ip from 192.168.10.0/24 to any via ed0
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
09998 0 0 deny ip from any to any via lo0
09999 0 0 deny ip from any to 127.0.0.0/8
10000 0 0 deny ip from 127.0.0.0/8 to any
60000 13732 2740622 divert 8668 ip from any to any in via ed0
65000 75112 53621730 allow ip from any to any
65535 5 305 deny ip from any to any
Откуда весь этот хлам ipfw считывает?
Давно однако вы не были, посмотрите в файл /etc/defaults/rc.conf и поймете откуда что берется, только помните что ната может быть 2-а, один ядерный, а второй демон ...
> Давно однако вы не были,Ну я так, набегами.
посмотрите в файл /etc/defaults/rc.conf и поймете
> откуда что беретсяЩа посмотрю.
, только помните что ната может быть 2-а, один
> ядерный, а второй демон ...А вот здесь можно подробней или ссылку на статью. Я как-то глубоко не вникал, но сталкивался пока только с двумя: natd и ipnat.
Кстати, с моим предыдущим вопросом самым простым решением оказалось прописывание статикой. Почему дхцп нормально не срабатывал я так и не понял и мне так никто и не подсказал.
включен ipnat и natd одновременно.
> включен ipnat и natd одновременно.Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов. Тем более, с НАТом уже все хорошо. С файерволлом плохо.
>> включен ipnat и natd одновременно.
> Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов.
> Тем более, с НАТом уже все хорошо. С файерволлом плохо.проблема программиста - это когда программы делают то, что создал программист, а не то, что он хотел, что бы они делали :) внимательно смотрим в /etc/rc.firewall и видим, что там есть несколько секций, которые будут исполнятся по любому
ps. кстати, а чего так грубо называть свой набор правил то? :)
>>> включен ipnat и natd одновременно.
>> Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов.
>> Тем более, с НАТом уже все хорошо. С файерволлом плохо.
> проблема программиста - это когда программы делают то, что создал программист, а
> не то, что он хотел, что бы они делали :) внимательно
> смотрим в /etc/rc.firewall и видим, что там есть несколько секций, которые
> будут исполнятся по любомуАх, блин =) Увидел "сетап ипв6 мандатори" и понял откуда ноги растут. Я обычно рц.файерволл проматывал неглядя вниз и приписывал свой набор. Говорила мама, что конфиг - дело тонкое =) Ща поиграюсь с правилами - посмотрим, как пойдет. Спасибо.
> ps. кстати, а чего так грубо называть свой набор правил то? :)Ну почему, грубо? Наоборот - любя. =)