LINUX.ORG.RU
решено ФорумAdmin

binding на PPPoE_IP


0

1

Доброе время суток, хочу задать вопрос специалистам :-) Собираюсь менять виндовый сервак на linux. на нем будет primary DNS server, www сервер, и доступ в инет для офиса. Пров дает только PPPoE.

решил заранее проработать возможные проблемы. И вот наткнулся.

bind(он же намед) :-) PPPoЕ не вечен, иногда падает, и поднимается не всегда сразу( может подняться и после загрузки BINDa) но ведь bind при запуске должен «забиндить», так сказать, pppoe_ip:53

поискал в инете, и действительно люди сталкиваются с такой проблемой, рассматривались несколько вариантов решения. По всем есть вопросы, задаю по порядку:

1) предлагают использовать какой то DUMMY0, прикрутить на него нужный pppoe_IP. что будет когда поднимется pppoe, дамми0 перестанет работать или pppoe_ip начнет ассоциироваться только с pppoe ? нормального описания по дамми0 в рамках такой постановки задачи не нашел... и что делать если ip например динамический?

2)non_local_bind перевод на русский ясен - больше ничего про это не нашел поясните пожалуйста если кто может, что это и где это ? опция ядра, или что-то еще?

3)interface interval - насколько понимаю это одноразово отрабатывается в , только при старте, или периодически ищет новые интерфейсы ?

4) ну и периодичеси передергивать bind - по моему вообще не выход ...

есть ли еще варианты ? И такая же проблема я так понимаю будет и с апачем ?

а если просто DNAT на какой нибудь серый ip который будет навешан на любой интерфейс машины, и на который забиндится апач и намед? Или dnat на localhost ? :-)

заранее спасибо

interface interval - насколько понимаю это одноразово отрабатывается в , только при стартеinterface interval - насколько понимаю это одноразово отрабатывается

нет, не одноразово

Pinkbyte ★★★★★ ()

Хм... Сколько использую BIND на офисных серваках, смотрящих в интернет через PPtP/PPPoE, а о такой проблеме слышу впервые...

Deleted ()
Ответ на: комментарий от Deleted

хорошо если так, успокоили :-) попробую - расскажу :-)

проводить испытания не очень удобно пока, так как на PPPoe сейчас висит старый сервак с виндой, и выключать без согласования никак :-) наверное только после нового года теперь.

если не сложно подскажите пож мне нужно это делать:

Automatically listen on new interfaces without chroot and root privileges Add interface-interval <rescan-timeout-in-minutes>; parameter into named.conf options. Then you should modify rc-script: stat_busy «Starting DNS» - [ -z «$PID» ] && /usr/sbin/named ${NAMED_ARGS} + setcap cap_net_bind_service=eip /usr/sbin/named + NAMED_ARGS=`echo ${NAMED_ARGS} | sed 's#-u [[:alnum:]]*##'` + [ -z «$PID» ] && sudo -u named /usr/sbin/named ${NAMED_ARGS} So your /etc/rc.d/named should look like this: stat_busy «Starting DNS» setcap cap_net_bind_service=eip /usr/sbin/named NAMED_ARGS=`echo ${NAMED_ARGS} | sed 's#-u [[:alnum:]]*##'` [ -z «$PID» ] && sudo -u named /usr/sbin/named ${NAMED_ARGS}

у меня alt linux 4.1

shurik_116_ ()
Ответ на: комментарий от blind_oracle

с 9.3 разучился ЕМНИП нормально это делать. Он биндится на все интерфейсы присутствуюшие при запуске и периодически сканирует систему на наличие новых... Если IP на PPPoE статический, то проблема решается loopback-алиасов с этим ip, а вот при динамике... только ждать таймаута опроса или регулярно дергать bind, что не Ъ

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Deleted

у меня была похожая проблема с VPN-сервером: bind не биндился, прошу прощения за каламбур, на local ip pptp-туннелей. Но, т.к. этот IP статический, я поднял lo:0 с ним и проблема решилась :-)

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Можно перед биндом поставить какой-нибудь простой удп\тцп балансёр, который слушает вайлдкард и форвардил на бинд, который слушает локалхост. Но это, конечно, костыль тот еще.

blind_oracle ★★★★★ ()
Ответ на: комментарий от Pinkbyte

простите мою неграмотность, можно подробнее «я поднял lo:0 с ним»

не могу что-то нагуглить инфы, просто навесили IP на интерфейс lo0 ? а потом когда поднимается ppp все ок ?

shurik_116_ ()
Ответ на: комментарий от Pinkbyte

так и есть, не цепляет. interface interval может и работает(пока только перезапустил намед), но вот в логах permission denied

счас попробую с lo поиграть :-)

shurik_116_ ()
Ответ на: комментарий от shurik_116_

Спасибо всем ! с ло прокатило, перезапустил машину, соответственно запустился бинд, потом поднял ррр и все заработало. Но возник следующий вопрос. PPP в ONBOOT я так понял ставить нельзя, иначе машина провиснуть может если не будет PPP соединения. Поставил NO поставил persist, но он не соединяется пока не поднимешь ручками.

вот вычитал:

[Ну сколько-ж можно-то?! В этом случае оно будет до бесконечности стучаться и при загрузке системы. Единственный, повторяю _ЕДИНСТВЕННЫЙ_ работающий вариант, это строчка в crontab: * * * * * root [ -s /var/run/pppN.pid ] || ifup pppN]

неужели и правда все так плохо ? это какое-то не «изящное» решение по-моему :-) так и сделаю конечно, если другого выходя нет :-)

shurik_116_ ()
Ответ на: комментарий от blind_oracle

Думаю можно закрывать тему.

Может кому пригодится: 1) ppp_ip прописал на lo, когда поднимается pppoe все работает. 2) в crontab написал root [ -f /var/run/ppp1.pid ] || /sbin/ifup ppp1 (почему то в alt linux ppp интерфейсы начинаются c 1) тоже все работает, ронял ppp руками, ждал минуту - он поднимается. 3) Столкнулся с интересным глюком, BIND упорно не хотел читать файл зоны, в логах permission denied. Пробовал разрешал всё и всем - не помогло. В инете неск раз народ с таким сталкивался - решения не было, а у меня решилось случайно: файл зоны назывался mydomain.ru - переименовал в просто «mydomain». подправил опции в BINDе (убрал .ru) и все заработало как часы.

Спасибо огромное всем за помощь.

shurik_116_ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.