0TshEL_n1ck Опубликовано: 7 жовтня, 2014 Опубликовано: 7 жовтня, 2014 (відредаговано) Доброго времени суток, подскажите пожалуйста как побороть. Есть em0 - смотрит внутрь, раздаёт по DHCP есть em1 - смотрит наружу, получает всё по DHCP В такой связке всё хорошо работает и т д. Поднимаю mpd5 на em1 - с сервера всё пингуется отлично, но нету связки em0 c em1, тоисть пользователи интернет не видят. Подскажите пожалуйста куда копать... freebsd 9.2 + Ubilling: 0.5.8 rev 3790 Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 Конфіг мпд в студію, конфіг фаерволу сюди ж.
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) Фаер по умолчанию. #!/bin/sh # firewall command FwCMD="/sbin/ipfw -q" ${FwCMD} -f flush # Networks define ${FwCMD} table 2 add 5.5.38.0/24 ${FwCMD} table 9 add 5.5.36.26 #NAT ${FwCMD} nat 1 config log if em1 reset same_ports ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via em1 ${FwCMD} add 6001 nat 1 ip from any to 5.5.36.26 via em1 #Shaper - table 4 download speed, table 3 - upload speed ${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via em0 out ${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via em0 in # default block policy ${FwCMD} add 65533 deny all from table\(2\) to any via em0 ${FwCMD} add 65534 deny all from any to table\(2\) via em0 ${FwCMD} add 65535 allow all from any to any В мпд тож ничгео такого нету, мне не нужен ни радиус ничего... Просто пппое соединение с провайдером. default: load pppoe_client pppoe_client: create bundle static B1 set iface route default set ipcp ranges 0.0.0.0/0 0.0.0.0/0 create link static L1 pppoe set link action bundle B1 set auth authname тут логин set auth password тут пароль set link max-redial 0 set link mtu 1492 set link keep-alive 10 60 set pppoe iface em1 set pppoe service "" open Відредаговано 7 жовтня, 2014 0TshEL_n1ck
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 Может из-за того что у меня внешний айпи меняется постоянно ??? Как решить если из-за этого ??? ПППОЕ динамика...
TretUliy2 Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 Вы натите только на ем1, а траф уйдет в нг0
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) Вы натите только на ем1, а траф уйдет в нг0 Как натить куда нужно что б куда нужно траф уходил, подскажите пожалуйста. ТАк когда DHCP включено на em1 при этом же конфиге всё изюмительно работает. ТОисть получается мпд поднимает интерфейс ng0 и от него начинается пляска ??? Что и куда добавить что б заработало ? И как тогда обратабывается айпи который потсоянно меняется (внешний) в конфиге. Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 Для цього треба підіймати ще один інстанс нату. Що є ${FwCMD} nat 1 config log if em1 reset same_ports Шо треба додати ${FwCMD} nat 2 config log if ng0 reset Директива резет означає, що правило зміна айпі йому не страшна. Це заворот трафіка у нат той що на ем1 ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via em1 ${FwCMD} add 6001 nat 1 ip from any to 5.5.36.26 via em1 Шо тре такий самий для нж0, тіки дивіться, що вам потрібні різні айпішки абонів, для першого і другого ната.
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) тоисть: #NAT${FwCMD} nat 1 config log if em1 reset same_ports${FwCMD} nat 2 config log if ng0 reset ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via em1${FwCMD} add 6001 nat 1 ip from any to 5.5.36.26 via em1 тут что дальше не пойму всёравно... с фаером и натом вообще не дружу....... Как составить такой же ? И не пойму, зачем мне разные айпи для абонентов то ? у них есть свой диапазон Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 Окрім як читати та вчити нічим не можу допомогти. http://bozza.ru/art-1.html http://www.lissyara.su/articles/freebsd/tuning/ipfw_nat/
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) Спасибо! Чисто интересно, сколько там строк кода ? неужели стописят ? Потратил 6 часов времени для того что б получить ссылку к лисяре на сайт... Есть кто нить кто объяснит или покажет ? Відредаговано 7 жовтня, 2014 0TshEL_n1ck
TretUliy2 Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 (відредаговано) Если вы будете использовать pppoe исходящим интерфейсом будет ng0, чтоб при падении mpd сохранить возможность ходить через ем1 нужно иметь два набора правил #NAT ${FwCMD} nat 1 config log if em1 reset same_ports ${FwCMD} nat 2 config log if ng0 reset # заворачиваете в нат 1 всё что ходит через em1 ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via em1 ${FwCMD} add 6001 nat 1 ip from any to 5.5.36.26 via em1 # для ng0 нужно создать аналогичное правило типа ${FwCMD} add 6010 nat 2 ip from any to any via ng0 Відредаговано 7 жовтня, 2014 TretUliy2
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) #NAT ${FwCMD} nat 1 config log if em1 reset same_ports ${FwCMD} nat 2 config log if ng0 reset ${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via em1 ${FwCMD} add 6001 nat 1 ip from any to 172.20.136.26 via em1 ${FwCMD} add 6010 nat 2 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add 6011 nat 2 ip from any to any via ng0 с сервера. ping ya.ru PING ya.ru (93.158.134.3): 56 data bytes ping: sendto: Permission denied ping: sendto: Permission denied Что не так ? Может вообще убрать nat 1 ??? Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 (відредаговано) Вам потрібен нат тільки на нж0? І не правильний заворот. Краще зробити ipfw nat 2 ip from table\(2\) to not table\(9\) via ng0 ipfw nat 2 ip from any to me via ng0 А ще краще туди айпішку зовнішню писати, але при зміні айпі треба фаєр перезавантажувати. Якось так: ext_ip=`ifconfig ng0 inet | grep inet | awk '{print $2}'` ipfw nat 2 ip from table\(2\) to not table\(9\) via ng0 ipfw nat 2 ip from any to ${ext_ip} via ng0 І чому так сваритися? Я дав вам матеріал, в якому все добре розписане. Якщо ви самі навчитеся робити такі прості речі - вам же краще. Ще раз розписувати те що в інтернеті розжоване не один десяток разів... це не правильно. Відредаговано 7 жовтня, 2014 L1ght
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 Да Вы уж простите, тысячу раз я читал pf всякие разные и т д. Ну не понимаю я его... Если я его почитаю в стописятпятый раз, понимания больше не будет, мне лучше увидеть воочию, покрутить и т д потому как я с ним работаю крайне редко... Я специалист в своём деле, Вы в своём, Я понимаю что у Вас таких умников как я сотня за день. Я б не писал если б мог самостоятельно решить эту очень простую задачу, потому как ничего не хочется поломать в этом биллинге. Как этот нат работает я не понимаю, в ядре не скомпилино, в процессах нету. Вам потрібен нат тільки на нж0? Получается да, я беру интернет только через ng0. больше мне натить что либо я так опнимаю не за чем. І не правильний заворот. А чем это грозит ???
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 Да Вы уж простите, тысячу раз я читал pf всякие разные и т д. Ну не понимаю я его... Если я его почитаю в стописятпятый раз, понимания больше не будет, мне лучше увидеть воочию, покрутить и т д потому как я с ним работаю крайне редко... Я специалист в своём деле, Вы в своём, Я понимаю что у Вас таких умников как я сотня за день. Я б не писал если б мог самостоятельно решить эту очень простую задачу, потому как ничего не хочется поломать в этом биллинге. Как этот нат работает я не понимаю, в ядре не скомпилино, в процессах нету. Вам потрібен нат тільки на нж0? Получается да, я беру интернет только через ng0. больше мне натить что либо я так опнимаю не за чем. І не правильний заворот. А чем это грозит ??? Перше - фаєрвол та нат скоріш усе прописаний в /boot/loader.conf Друге - якщо тіки на нж0 - то залиште собі варіант ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} nat 1 ip from any to me via ng0 "Неправильний заворот" означає що у правило яке завертає трафік до нату може попасти зовсім непотрібний вам трафік, от і все. Біллінгу ви цим не зашкодите, а от нерозуміння того, що робите може багато шкоди принести.
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) Спасибо, частично разобрался. при варианте ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} add 6010 nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add 6011 nat 1 ip from any to any via ng0 после перезагрузки фаерволл не пропускает ничего. только после отключения Начинает работать. /etc/rc.d/ipfw restart net.inet.ip.fw.enable: 1 -> 0 net.inet6.ip6.fw.enable: 1 -> 0 Это из0за того что внешний айпи меняется ??? Скриптом что Вы подсказали вылечить не удалось... Может есть способ что б после перезагрузки машины не нужно было лезть на неё, ну и соответсвенно фаер не отключая. Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 7 жовтня, 2014 Опубліковано: 7 жовтня, 2014 (відредаговано) ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} add 6010 nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add 6011 nat 1 ip from any to ME via ng0 Так повинно працювати, я ж вам 2 рази це написав, фром ени ту МІ!! Відредаговано 7 жовтня, 2014 L1ght
0TshEL_n1ck Опубліковано: 7 жовтня, 2014 Автор Опубліковано: 7 жовтня, 2014 (відредаговано) Простите за невнимательность... НО - Не работает Придётся по одному отключать пробовать... #!/bin/sh # firewall command FwCMD="/sbin/ipfw -q" ${FwCMD} -f flush # Networks define ${FwCMD} table 2 add 5.5.38.0/24 ${FwCMD} table 9 add 5.5.36.26 #NAT ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} add 6010 nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add 6011 nat 1 ip from any to me via ng0 #Shaper - table 4 download speed, table 3 - upload speed ${FwCMD} add 12001 pipe tablearg ip from any to table\(4\) via em0 out ${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any via em0 in # default block policy ${FwCMD} add 65533 deny all from table\(2\) to any via em0 ${FwCMD} add 65534 deny all from any to table\(2\) via em0 ${FwCMD} add 65535 allow all from any to any Відредаговано 7 жовтня, 2014 0TshEL_n1ck
l1ght Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 Тоді пробуйте другий варіант, що я писав. Зробити змінну, в яку буде записуватися адреса нж0 і через неї нат буде. ext_ip=`ifconfig ng0 inet | grep inet | awk '{print $2}'` ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} add nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add nat 1 ip from any to ${ext_ip} via ng0
TretUliy2 Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 (відредаговано) rc.conf pf_enable="YES" pf_rules="/etc/pf.conf" pf.conf table <local> persist { 10/8, 192.168.0.0/24 } # сети на em0 nat on ng0 ip from <local> to any -> ng0:0 pass all in no state pass all out no state в работающей системе pfctl -e pfctl -f /etc/pf.conf Відредаговано 8 жовтня, 2014 TretUliy2
l1ght Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 pf теж буде модулем, тоді нормально працювати не буде, треба тоді ipfw у ядро загнати, а не модулем.
0TshEL_n1ck Опубліковано: 8 жовтня, 2014 Автор Опубліковано: 8 жовтня, 2014 (відредаговано) #NAT ext_ip=`ifconfig ng0 inet | grep inet | awk '{print $2}'` ${FwCMD} nat 1 config log if ng0 reset ${FwCMD} add 6010 nat 1 ip from table\(2\) to not table\(9\) via ng0 ${FwCMD} add 6011 nat 1 ip from any to ${ext_ip} via ng0 Вот в таком виде после перезагрузки становится наоборот ) видно всё с сервера, c сети em0 заблочено пока фаер не сбросишь... Відредаговано 8 жовтня, 2014 0TshEL_n1ck
TretUliy2 Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 (відредаговано) tcpdump -npi ng0 посмотрите чё там бегает Відредаговано 8 жовтня, 2014 TretUliy2
l1ght Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 Шановний, ви або щось не кажете, або якась містика там в вас. Я певний в тому що така конструкція повинна працювати. Покажіть ipfw show коли фаэр запущенний.
mgo Опубліковано: 8 жовтня, 2014 Опубліковано: 8 жовтня, 2014 (відредаговано) отак у мене через тунель паше і прямо зараз через оцей нат я вам пишу)) #NAT${FwCMD} nat 1 config log if tun0 reset same_ports${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via tun0${FwCMD} add 6001 nat 1 ip from any to any via tun0 хоча на іншому насі у мене затик розбираю карту польотів Відредаговано 8 жовтня, 2014 mgo
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас