yeah Posted April 23, 2013 (edited) Доброго времени суток! Имеется сабж на сервере с FreeBSD 9.1 Проблема в том, что периодически он перестаёт работать: в течении нескльких минут полнстью пропадает трафик на фейках и через 30-60 минут появляется сам по себе. Конфиг НАТа: ngctl -f- <<-SEQ mkpeer ipfw: tee 50 left name ipfw:50 tee mkpeer tee: nat right out name tee:right nat connect ipfw: nat: 51 in msg nat: setaliasaddr $alias_address mkpeer tee: netflow left2right iface0 name tee:left2right netflow connect tee: netflow: right2left iface1 mkpeer netflow: ksocket export inet/dgram/udp msg netflow:export connect inet/$netflow_export msg netflow: setdlt { iface=0 dlt=12 } msg netflow: setifindex { iface=0 index=5 } msg netflow: setdlt { iface=1 dlt=12 } msg netflow: setifindex { iface=1 index=5 } SEQ Трафика через НАТ идёт 300-400 мегабит Edited April 23, 2013 by yeah Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted April 24, 2013 vmstat -z Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yeah Posted April 24, 2013 (edited) Это нужно сделать, когда НАТ отвалится или в нормальном рабочем режиме? Можно ли создать несколько нод ng_nat, чтобы натить разные сети на разные белые IP? Если да, то подскажите пожалуйста как это сделать? Edited April 24, 2013 by yeah Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hawk128 Posted April 24, 2013 Попробуйте pf nat. Для меня это решило проблему. Пробовал ipfw nat и ng_nat. Оба упирались в 600-800. pf - 1.4 гига получал, дальше было нечем догрузить машину, пользователи кончились. Подробности в другой ветке уже выкладывал. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
^rage^ Posted April 25, 2013 Можно ли создать несколько нод ng_nat, чтобы натить разные сети на разные белые IP? можно. Если да, то подскажите пожалуйста как это сделать? аналогично одной ноде. только имена другие надо давать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
xsintez Posted May 8, 2013 (edited) Это нужно сделать, когда НАТ отвалится или в нормальном рабочем режиме? Можно ли создать несколько нод ng_nat, чтобы натить разные сети на разные белые IP? Если да, то подскажите пожалуйста как это сделать? как то так cat /etc/rc.firewall #!/bin/sh FwCMD="/sbin/ipfw" ExtIP="X.X.X.X" ExtGw="X.X.X.X" ExtMask="" ExtIface="em0" IntIP="X.X.X.X>" IntFgwIP="X.X.X.X" IntIface="em1" QQQQ_VLAN="vlan55" WWW_VLAN="vlan56" ZZZ_VLAN="vlan57" ZXZX_VLAN="vlan58" XXX_VLAN="vlan59" ZAZA_VLAN="vlan60" QQQ_FTTH_TABLE="table(10)" WWW_FTTH_TABLE="table(11)" ZZZ_FTTH_TABLE="table(12)" ZXZX_FTTH_TABLE="table(13)" XXX_FTTH_TABLE="table(14)" ####################### QQQQ ####################################### ${FwCMD} add 4055 netgraph 5 all from ${QQQQ_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4056 netgraph tablearg ip from ${QQQQ_FTTH_TABLE} to not me in via ${QQQQ_VLAN} ${FwCMD} add 4057 netgraph tablearg ip from any to ${QQQQ_FTTH_TABLE} out via ${QQQQ_VLAN} ####################### WWW ######################################## ${FwCMD} add 4058 netgraph 7 all from ${WWW_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4059 netgraph tablearg ip from ${WWW_FTTH_TABLE} to not me in via ${WWW_VLAN} ${FwCMD} add 4060 netgraph tablearg ip from any to ${WWW_FTTH_TABLE} out via ${WWW_VLAN} ####################### ########################################### ${FwCMD} add 4061 netgraph 9 all from ${ZZZ_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4062 netgraph tablearg ip from ${ZZZ_FTTH_TABLE} to not me in via ${ZZZ_VLAN} ${FwCMD} add 4063 netgraph tablearg ip from any to ${ZZZ_FTTH_TABLE} out via ${ZZZ_VLAN} ####################### ###################################### ${FwCMD} add 4064 netgraph 11 all from ${ZXZX_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4065 netgraph tablearg ip from ${ZXZX_FTTH_TABLE} to not me in via ${ZXZX_VLAN} ${FwCMD} add 4066 netgraph tablearg ip from any to ${ZXZX_FTTH_TABLE} out via ${ZXZX_VLAN} ####################### XXX ###################################### ${FwCMD} add 4067 netgraph 13 all from ${XXX_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4068 netgraph tablearg ip from ${XXX_FTTH_TABLE} to not me in via ${XXX_VLAN} ${FwCMD} add 4069 netgraph tablearg ip from any to ${XXX_FTTH_TABLE} out via ${XXX_VLAN} ####################### ZAZA ###################################### ${FwCMD} add 4070 netgraph 15 all from ${ZAZA_FTTH_TABLE} to any via ${ExtIface} out ${FwCMD} add 4071 netgraph tablearg ip from ${ZAZA_FTTH_TABLE} to not me in via ${ZAZA_VLAN} ${FwCMD} add 4072 netgraph tablearg ip from any to ${ZAZA_FTTH_TABLE} out via ${ZAZA_VLAN} ну и в ng_nat номера не перепутайте))) #!/usr/bin/perl $ip_nat_addr='X.X.X.X'; $ppp_nat_cmd=sprintf("/usr/sbin/ngctl -f - << -EOF mkpeer ipfw: nat 15 out name ipfw:15 FESENKO_NAT connect ipfw: FESENKO_NAT: 16 in msg FESENKO_NAT: setaliasaddr %s ",$ip_nat_addr); system($ppp_nat_cmd); $ip_nat_addr='X.X.X.X'; $ppp_nat_cmd=sprintf("/usr/sbin/ngctl -f - << -EOF mkpeer ipfw: nat 13 out name ipfw:13 HERSONSKAYA_NAT connect ipfw: HERSONSKAYA_NAT: 14 in msg HERSONSKAYA_NAT: setaliasaddr %s ",$ip_nat_addr); system($ppp_nat_cmd); и т.д...... когда пропадает НАТ, с сервера хоть в "МИР" пинг идёт? Edited May 8, 2013 by xsintez Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
yeah Posted May 26, 2013 (edited) Спасибо за ответ. Когда падал НАТ - абоненты с "белыми" айпи работали. В любом случае проблема решена посредством запуска большей части абонов через pf-nat. Edited May 26, 2013 by yeah Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...