yeah Posted April 23, 2013 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
yeah Posted April 24, 2013 Author Posted April 24, 2013 (edited) Это нужно сделать, когда НАТ отвалится или в нормальном рабочем режиме? Можно ли создать несколько нод ng_nat, чтобы натить разные сети на разные белые IP? Если да, то подскажите пожалуйста как это сделать? Edited April 24, 2013 by yeah Вставить ник Quote
Hawk128 Posted April 24, 2013 Posted April 24, 2013 Попробуйте pf nat. Для меня это решило проблему. Пробовал ipfw nat и ng_nat. Оба упирались в 600-800. pf - 1.4 гига получал, дальше было нечем догрузить машину, пользователи кончились. Подробности в другой ветке уже выкладывал. Вставить ник Quote
^rage^ Posted April 25, 2013 Posted April 25, 2013 Можно ли создать несколько нод ng_nat, чтобы натить разные сети на разные белые IP? можно. Если да, то подскажите пожалуйста как это сделать? аналогично одной ноде. только имена другие надо давать. Вставить ник Quote
xsintez Posted May 8, 2013 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
yeah Posted May 26, 2013 Author Posted May 26, 2013 (edited) Спасибо за ответ. Когда падал НАТ - абоненты с "белыми" айпи работали. В любом случае проблема решена посредством запуска большей части абонов через pf-nat. Edited May 26, 2013 by yeah Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.