LINUX.ORG.RU
ФорумAdmin

Банки, в которых можно авторизоваться из GNU/Linux


0

0

Доброго всем дня.
Вопрос следующий: имеется сервер под управлением Gentoo Linux, один интерфейс которого смотрит в мир но не имеет IP, через этот интерфейс поднимается PPPoE соединение с провайдером (при этом используется не rpppoe, а именно ppp штатными средствами Gentoo, дергаются скрипты /etc/ip-up и /etc/ip-down). IP адрес более-менее статичен и меняется не чаще разв в месяц. Сервер роутит подсеть класса В через SNAT в мир.

Иногда выключаются свет.. если бесперебойника не хватает, то сервер уходит в даун. Что характерно, startup time у него значительно меньше чем у вышестоящих роутеров, которые выключаются вместре с ним (ибо не имеют бесперебойников вообще). К моменту, когда сервер после ребута готов поднять PPPoE и зацепиться в мир это невозможно сделать по понятным причинам. Проблема заключается в том, что iptables стартует ДО поднятия интерфейса ppp0 (так написано в /etc/init.d/iptables ибо before net, ибо правильно), то судя по всему он игнорирует все правила, относящиеся к несуществующему интерфейсу ppp0, поэтому к моменту поднятия интерфейса я получаю неработающий интернет, по крайней мере SNAT не работает точно, да и SSH он снаружи тоже не слушает...
Подозреваю, что должно быть стандартное решение данной проблемы.
Также требуется предусмотреть обработку смены IP внешнего интерфейса (хотя эта ситуация внештатная и предсказуемая).
Может быть у кого-то есть идеи?
P.S. Я попробовал прикрутить скрипт, который дергается ip-up и ip-down - почему-то не получилось, SNAT также не работает.


> то судя по всему он игнорирует все правила, относящиеся к несуществующему интерфейсу ppp0

Не может быть такого. Айпитейблсам можно скормить любое название интерфейса, даже то которое [ещё] не существует.
Покажите ваш скрипт с правилами.

>да и SSH он снаружи тоже не слушает


Если у вас ssh вешается на интерфейс, которого ещё нет, то это естественно. Либо вешайте на 0.0.0.0 и рубите через iptables ненужные, либо сделайте по-человеческий:
Настройте pppoe через /etc/ini.d/net.ppp* и выставите у нужных сервисов (типо ssh) зависимость от этого интерфейса (need net.ppp0 к примеру), тогда ssh будет ждать пока поднимется ppp, или отключится если он(ppp) упадёт.

Nao ★★★★★
()

> Также требуется предусмотреть обработку смены IP внешнего интерфейса (хотя эта ситуация внештатная и предсказуемая).

А айпишник который назначается интерфейсу внешний? Или назначается какой-нибудь серый айпишник (к примеру 10.0.0.0/8) а внешний уже потом через NAT у прова?

Если второй вариант то можно заюзать сервис dyndns.org и демон net-dns/ddclient. Он умеет следить за внешним айпи и наверняка у него есть возможность отработки собственных скриптов при смене айпи (не проверял).

Nao ★★★★★
()

Как вам уже написали, iptables может принимать любой интерфейс, более того как вы сами отметили, iptables стратует до поднятия сетевых интерфейсов, поэтому ему должно быть все равно, будет ли поднят потом ppp0.

Поэтому дожидайтесь снова такой ситуации, заходите на сервер и смотрите, что там произошло. Подозреваю, что просто не поднимается ppp0, посмотрите опции pppd.

mky ★★★★★
()

> Банки, в которых можно авторизоваться из GNU/Linux

Если имеются в виду коммерческие банки, то ВТБ-24 )

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