Перейти до

Рекомендованные сообщения

Опубликовано: (відредаговано)

Доброго времени суток, подскажите пожалуйста как побороть.

Есть em0 - смотрит внутрь, раздаёт по DHCP 

есть em1 - смотрит наружу, получает всё по DHCP

В такой связке всё хорошо работает и т д.

Поднимаю mpd5 на em1  - с сервера всё пингуется отлично, но нету связки em0 c em1, тоисть пользователи интернет не видят. Подскажите пожалуйста куда копать... 

freebsd 9.2 + Ubilling: 0.5.8 rev 3790

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)

Фаер по умолчанию.

#!/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

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)

Вы натите только на ем1, а траф уйдет в нг0

Как натить куда нужно что б куда нужно траф уходил, подскажите пожалуйста. ТАк когда DHCP включено на em1 при этом же конфиге всё изюмительно работает. ТОисть получается мпд поднимает интерфейс ng0 и от него начинается пляска ??? Что и куда добавить что б заработало ?  И как тогда обратабывается айпи который потсоянно меняется (внешний) в конфиге.

Відредаговано 0TshEL_n1ck
Опубліковано:

Для цього треба підіймати ще один інстанс нату.

Що є
${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, тіки дивіться, що вам потрібні різні айпішки абонів, для першого і другого ната.
Опубліковано: (відредаговано)

тоисть:

#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

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

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)

Спасибо! Чисто интересно, сколько там строк кода ? неужели стописят ? Потратил 6 часов времени для того что б получить ссылку к лисяре на сайт... Есть кто нить кто объяснит или покажет ? 

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)

Если вы будете использовать 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
Відредаговано TretUliy2
Опубліковано: (відредаговано)


#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 ??? 

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)

Вам потрібен нат тільки на нж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

І чому так сваритися? Я дав вам матеріал, в якому все добре розписане.

Якщо ви самі навчитеся робити такі прості речі - вам же краще. Ще раз розписувати те що в інтернеті розжоване не один десяток разів... це не правильно.

Відредаговано L1ght
Опубліковано:

Да Вы уж простите, тысячу раз я читал pf всякие разные и т д. Ну не понимаю я его... Если я его почитаю в стописятпятый раз, понимания больше не будет, мне лучше увидеть воочию, покрутить и т д потому как я с ним работаю крайне редко... Я специалист в своём деле, Вы в своём, Я понимаю что у Вас таких умников как я сотня за день. Я б не писал если б мог самостоятельно решить эту очень простую задачу, потому как ничего не хочется поломать в этом биллинге. Как этот нат работает я не понимаю, в ядре не скомпилино, в процессах нету. 

 

Вам потрібен нат тільки на нж0?

Получается да, я беру интернет только через ng0. больше мне натить что либо я так опнимаю не за чем.

І не правильний заворот.

А чем это грозит ??? 

Опубліковано:

Да Вы уж простите, тысячу раз я читал 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

"Неправильний заворот" означає що у правило яке завертає трафік до нату може попасти зовсім непотрібний вам трафік, от і все.

Біллінгу ви цим не зашкодите, а от нерозуміння того, що робите може багато шкоди принести.

Опубліковано: (відредаговано)

Спасибо, частично разобрался. 

при варианте 

${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за того что внешний айпи меняется ??? Скриптом что Вы подсказали вылечить не удалось... Может есть способ что б после перезагрузки машины не нужно было лезть на неё, ну и соответсвенно фаер не отключая.

Відредаговано 0TshEL_n1ck
Опубліковано: (відредаговано)
${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 рази це написав, фром ени ту МІ!!

Відредаговано L1ght
Опубліковано: (відредаговано)

Простите за невнимательность... НО - Не работает :( Придётся по одному отключать пробовать...

#!/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

Відредаговано 0TshEL_n1ck
Опубліковано:

Тоді пробуйте другий варіант, що я писав.

Зробити змінну, в яку буде записуватися адреса нж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
Опубліковано: (відредаговано)
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
Відредаговано TretUliy2
Опубліковано: (відредаговано)
#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 заблочено пока фаер не сбросишь...

Відредаговано 0TshEL_n1ck
Опубліковано:

Шановний, ви або щось не кажете, або якась містика там в вас.

Я певний в тому що така конструкція повинна працювати.

Покажіть ipfw show коли фаэр запущенний.

Опубліковано: (відредаговано)

отак у мене через тунель паше і прямо зараз через оцей нат я вам пишу))

#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

 

хоча  на іншому насі у мене затик :D

розбираю карту польотів

Відредаговано mgo

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    • Немає користувачів, що переглядають цю сторінку.
×
×
  • Створити нове...