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

Исходное сообщение
"kernel nat"

Отправлено Vladas , 12-Апр-10 12:48 
Относительно недавно переехал оффисную машинку, раздающую инет от прова в локалку, с пингвинов на демоненка 7.2, пересобрал со старта ядро с опциями:
options         IPFIREWALL              
options         IPFIREWALL_VERBOSE      
options         IPDIVERT
options         IPFIREWALL_FORWARD
options         DUMMYNET
options         IPFIREWALL_NAT        
options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPTPGRE

поставил mpd5, сконфижил как клиента на pptр.
Вобщем машинка поднимает туннель, ходит в инет и проблем никаких.
Следующим этапом нужно было запустить кернел нат, с этой целью в rc.conf появились строчки:
gateway_enable="YES"
firewall_enable="YES"
firewall_nat_enable="YES"
firewall_script="/etc/rc.fire"

В скрипте rc.fire чего только не писал... нат так и не поднялся. Последнюю редакцию скрипта привожу ниже:

fwcmd="/sbin/ipfw"
inet_iface="ng0"  -  интерфейс туннеля, который поднимает mpd
inet_ip="xxx.xxx.xxx.xxx"
lan_net="192.168.0.0"  -  LAN

  $fwcmd -f flush

  ${fwcmd} nat 123 config ip ${inet_ip} log
  ${fwcmd} add 10 nat 123 ip4 from ${lan_net}/24 to any via ${inet_iface}
  ${fwcmd} add 20 nat 123 ip4 from any to ${inet_ip}

  ${fwcmd} add 65000 pass all from any to any

Чего нату не нравится? Клиенты в локалке мир не видят :(

Вобщем сильно не пинайте, знаю что тему разжевывали много раз, но я честно ходил по всяким статьям, читал :), да и после пингвинячих iptables сложновато пока перестроиться. Лучше ткните где я не прав или наставьте на путь истинный
Аминь


Содержание

Сообщения в этом обсуждении
"kernel nat"
Отправлено PavelR , 12-Апр-10 14:31 
  ${fwcmd} nat 123 config ip ${inet_ip} log
  ${fwcmd} add 10 nat 123 ip4 from ${lan_net}/24 to any out via ${inet_iface}
  ${fwcmd} add 20 nat 123 ip4 from any to ${inet_ip} in via ${inet_iface}

---
т.е. надо учесть наличие во фряхе двух режимов: "ipfw enable one_pass / ipfw disable one_pass"

---

рекомендую посмотреть результирующий ipfw show, и счетчики на правилах


"kernel nat"
Отправлено Гость , 12-Апр-10 16:16 
и из rc.conf выкинуть строки
firewall_enable="YES"
firewall_nat_enable="YES"

т.к. у вас и так оно в ядро встроено



"kernel nat"
Отправлено Vladas , 18-Апр-10 22:04 
Спасибо всем ответившим!
Как всегда все оказалось не там, где порылась собака, а там, где покакали лазерные индючки...
вобщем нат запустился с полпинка от такого:

        ${fwcmd} nat 123 config ip ххх.ххх.ххх.ххх log
        ${fwcmd} add 10 nat 123 all from 192.168.0.0/24 to any via ng0
        ${fwcmd} add 20 nat 123 all from any to 79.171.121.212 via ng0

пытался по совету убрать firewall_enable="YES", но дудки, тогда отрабатывает вообще только одно правило deny all from any to any, а потому rc.conf я таки не трогал

а система просто не пускала локальные машинки к ДНС в сети провайдера, посему юзвери никуда не могли выйти

стыдно конечно - мой недосмотр... лень было набрать ping 74.125.87.105 вместо ping google.com, тогда бы и вопроса не возникло :)
надеюсь сообщество меня простит