URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92923
[ Назад ]

Исходное сообщение
"NAT на 8-ке"

Отправлено aks , 24-Янв-12 02:31 
Поясните в общих чертах что-то изменилось во фре со времен 6-ки или я что-то не догоняю? Не могу нормально НАТ настроить. Беглое гугление показало, что теперь, якобы, поддержку НАТа из ядра убрали и нужно пару опций добавлять. Раньше я что-то подобного не припомню. Причем, теперь не ясно откуда ipfw берет правила. В рц.конф четко указал тип, а ipfw -a list выдает какой-то "левак" да еще и с ИПв6-ыми правилами, которые я вообще нигде не упоминал. После рестарта ipfw правила, наконец-то ки, считываются из указанного мной типа и перемешиваются с изначальными. Кстати, раньше был отдельный файл rc.firewall6, а теперь его нет. Бардак, вобщем.

Содержание

Сообщения в этом обсуждении
"NAT на 8-ке"
Отправлено arachnid , 24-Янв-12 09:12 
что-то ты путаешь - никогда поддержки ната в ядре не было. и для divert'a всегда требовалось пересобирать ядро.
касательно ipv6 - да, теперь оно включено в ядро по умолчанию. но кажется, что ты явно где-то напутал - давай вывод rc.conf

ps. для использования ядерного ната достаточно трех строк

$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 <внешний_интерфейс>

да и то последние можно слить в одну


"NAT на 8-ке"
Отправлено aks , 25-Янв-12 00:53 
В рц.конф ничего особенного.

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 считывает?


"NAT на 8-ке"
Отправлено Сергей , 24-Янв-12 23:33 
Давно однако вы не были, посмотрите в файл /etc/defaults/rc.conf и поймете откуда что берется, только помните что ната может быть 2-а, один ядерный, а второй демон ...

"NAT на 8-ке"
Отправлено aks , 25-Янв-12 01:11 
>  Давно однако вы не были,

Ну я так, набегами.

посмотрите в файл /etc/defaults/rc.conf и поймете
> откуда что берется

Ща посмотрю.

, только помните что ната может быть 2-а, один
> ядерный, а второй демон ...

А вот здесь можно подробней или ссылку на статью. Я как-то глубоко не вникал, но сталкивался пока только с двумя: natd и ipnat.

Кстати, с моим предыдущим вопросом самым простым решением оказалось прописывание статикой. Почему дхцп нормально не срабатывал я так и не понял и мне так никто и не подсказал.


"NAT на 8-ке"
Отправлено pavel , 25-Янв-12 03:53 
включен ipnat и natd одновременно.

"NAT на 8-ке"
Отправлено aks , 25-Янв-12 11:07 
> включен ipnat и natd одновременно.

Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов. Тем более, с НАТом уже все хорошо. С файерволлом плохо.


"NAT на 8-ке"
Отправлено arachnid , 25-Янв-12 17:35 
>> включен ipnat и natd одновременно.
> Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов.
> Тем более, с НАТом уже все хорошо. С файерволлом плохо.

проблема программиста - это когда программы делают то, что создал программист, а не то, что он хотел, что бы они делали :) внимательно смотрим в /etc/rc.firewall и видим, что там есть несколько секций, которые будут исполнятся по любому

ps. кстати, а чего так грубо называть свой набор правил то? :)


"NAT на 8-ке"
Отправлено aks , 26-Янв-12 00:33 
>>> включен ipnat и natd одновременно.
>> Ну мне это никогда не мешало. natd для дивертов, ipnat для редиректов.
>> Тем более, с НАТом уже все хорошо. С файерволлом плохо.
> проблема программиста - это когда программы делают то, что создал программист, а
> не то, что он хотел, что бы они делали :) внимательно
> смотрим в /etc/rc.firewall и видим, что там есть несколько секций, которые
> будут исполнятся по любому

Ах, блин =) Увидел "сетап ипв6 мандатори" и понял откуда ноги растут. Я обычно рц.файерволл проматывал неглядя вниз и приписывал свой набор. Говорила мама, что конфиг - дело тонкое =) Ща поиграюсь с правилами - посмотрим, как пойдет. Спасибо.


> ps. кстати, а чего так грубо называть свой набор правил то? :)

Ну почему, грубо? Наоборот - любя. =)