как правильно сделать автоматизацию (пере)подключения интернета?
недавно перешёл на l2tp. естественно не от хорошей жизни - подключение по pptp постоянно рвалось и скорость никак не превышала и половины от заявленной. и всё бы хорошо, но пропала автоматизация. ну а раз уж она была выполнена в виде bash скрипта в который без серьёзных переделок было не запихнуть xl2tpd, я решил что пора сделать всё "по хендбуку". но, к несчастью, здесь ханбук подкачал - в нём даётся лишь несколько указаний по базовой настройки сети (всё делать в /etc/conf.d/net) и далеко не полное описание его возможностей (я имею ввиду встроенные функции и переменные). не говоря уже о том, что алгоритм настройки сети отдаётся на откуп читателю (я понимаю что сеть у всех разная, но без примера, хотя бы самого общещего, понять что нужно становится в разы сложнее). так же и с реализацией этого алгоритма - автор сам должен знать и заботиться о скриптах вроде if-up и if-down, знать порядок инициализации /etc/init.d/net.(pppX)ethX и мб ещё чего-то не знаю чего. и я бы рад всё это изучить, но где? конечно, я знаю о abs guide и смог бы прочесть пару десяток страниц, но изучить его полностью ради настройки интернета для меня уже чересчур. поэтому... не могли бы вы указать мне источники по каждой теме? мне будет интересно всё это изучить и потом, если я найду время, я оформлю это в виде как можно более развёрнутого руководства по данной теме.
- Для комментирования войдите или зарегистрируйтесь
БоянЪ :)
Всё уже давно украдено.
$ bzgrep ifplugd /usr/share/doc/openrc-0.9.4/net.example.bz2
Намёк понял? ;)
В компенсацию основного свойства гугля скажу, что собственный стартовый скрипт демон потерял как бы не году в 2006-м.
ЗЫ: Но ABS ты всё же проштудируй! :)
:wq
--
Live free or die
>> но, к несчастью, здесь
>> но, к несчастью, здесь ханбук подкачал - в нём даётся лишь несколько...
а ты? net.example это копипаста с хендбука (или наоборот?).
atropos написал(а): >> но, к
А добрый гуманный я послал бы тебя почитать тов. Львовского.
net.example.XX
--- это полный файл примеров, фрагменты которого рассматриваются в хэндбуке.И в актуальной аглицкой редакции оного прямое указание на этот файл есть (было), как сейчас помню.
:wq
--
Live free or die
хорошо. это выяснили
хорошо. это выяснили
ЧаВо?
http://gentoo.ru/content/chto-eto-znachit-solved-resheno
:wq
--
Live free or die
ой, как меня это
ой, как меня это утомляет...
мы выяснили что net.example это сборник примеров и только. а всё остальное, так сказать, даже не было затронуто.
И в чём проблема?
Берите из этого файла нужный вам пример, вставляйте в /etc/conf.d/net.
Если интерфейс ppp0 (или прочий), настроенный в /etc/conf.d/net будет прописан в автозапуск (rc-update add net.ppp0), интернет будет и подключаться сам, и переподключаться при разрывах. OpenRC об этом позаботится сам, не нужно городить каких-то своих скриптов для автоматизации.
я тоже так сначала
я тоже так сначала думал.
Блин... в openrc... счас, все легко и быстро и красиво...
Оказалос, со связкой pppd-xl2tpd проблема в том, что при стандартном поднятии интерфейса через net.ppp0 start и задании конфигурации в conf.d/net вы получаете зацикливание этих двух демонов.
конфигурация расчиатана, что ppp для вас запустить pty и будет пихать/получать оттуда трафик (как с pptp)
а у xl2tpd свое мнение - он сам запускает ppp и поднимает интерфейс. налицо конфликт, решение которого в гугль я нашел пока только через скрипты.
тоже самое. пожалуйста, пруф в студию, если у вас это работает.
Нет, у меня pppoe
Может быть именно ваша связка и не работает, и я неправ - не знаю. Но на всякий случай свой конфиг покажу (с PPPoE)
Наличие соединения отслеживается само, при пропадании возобновляется
/
Всё ещё с baselayout-1?
:wq
--
Live free or die
Не, просто не перезагружался
Не, просто не перезагружался месяц.
А тут вчера ребутнулся - смотрю, OpenRC перестал любить массивы, пришлось переделать.
.
PPPoE работает вполне себе прилично, чего не скажешь о xl2tpd - в этом случае картина, описанная ТС, в полной мере имеет место быть... В своё время, для устранения нехорошей картины с двумя экземплярами pppd, я уходил от кошерного дёргания /etc/init.d/net.pppX. Пробовал разные варианты, и со всеми было нормально (кроме true Gentoo-way, к сож.)
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Anarchist написал(а): Всё уже
Я может что-то не понимаю...
Но как связано обнаружение подключения Ethernet устройства с протоколами, работающими с PPP?
Видимо вы нас просто раритетом хотитет порадовать?! У него же последний комит более 4 лет назад...
Пруф в студию, что это работает с L2TP.
По теме...
Меня вот тоже грузит, что L2TP нормально не поддерживается системой инициализации интерфейсов в Gentoo. Единственное, что удалось нагуглить нормальное - это preup и predown скрипты для интерфейса типа ppp, который поднимается через запуск демона xl2tpd и потом передачи команды коннект с таким-то именем в этот демон.
Вообщем-то скрипты не тяжелые, курить ABS не обязательно...
Достаточно обычного man bash.
Сейчас разбираю эти скрипты, пытаюсь заточить для себя.
Если интересно и если, кончено, заработает - потом могу поделиться.
.
...или я недопонимаю.
Или не так объясняю.
В Linux Ethernet --- не только конкретный вариант физического подключения к Сети, но и абстракция сетевого подключения в принципе.
И?..
Могу обратить внимание на ситуацию с
app-admin/webalizer
Теоретизировать не буду, с PPP личного опыта не имею.
Однако...
В случае полностью статической конфигурации Ethernet необходимости в данном демоне не наблюдается.
Она проявляется при переходе к динамической конфигурации.
В задаче мониторинга состояния подключения (и восстановления соединения при его разрыве) есть общая, не зависящая от типа подключения часть.
С коммутируемыми соединениями
ifplugd
работает корректно. Личный опыт его использования для Wi-Fi подтверждает это.Про PPP не читал, потому что теория без практики мертва, а проверить на практике негде.
:wq
--
Live free or die
Anarchist написал(а):С
Я уже ответил выше. В схеме с L2TP - демон xl2tpd - главный. Он всем рулит и потом сам стартует уже ppp-сессию поверх готового тунеля (который кстати может быть еще и в ipsec-туннель завернут). Вот это и напрягает. В случае с pptp все наборот, ppp - главный, - и поэтому инициализация проходит успешно.
Ваш вариант с ifplugd принимается к рассмотрению - все же не поленюсь почитать (вероятно слово ethernet в этом пакете - плохое наследние прошлого).
НО! В свете сказанного непонятна роль ifplugd во всей схеме. Сетевой интерфейс появляется уже на последней стадии, когда все уже случилось и фактически L2TP-соединение установлено: ppp осталось индетифицировать своего peer'а, назначить ему адрес и погнали.
Не по теме немного, но что не так с app-admin/webalizer ?
Здесь вроде от 15 апреля прошлого года архив лежит. Не такой уж старый
/
Вероятно повторяясь скажу: извини, но практика с PPP мне не светит, потому вникать в ньюансы не буду.
Скорее --- реликт устоявшейся терминологии.
Модуль wlan там точно есть и вполне себе работоспособен.
Это то, что мне актуально и что я использовал.
ifplugd
мониторит состояние соединения (в том числе коммутируемого).В случае разрыва перезапускает процедуру установления соединения.
Покажи свой
/etc/conf.d/net
, постараюсь рассказать как я понимаю здесь его роль.Ты всё самое интересное пропустил :)
Пакет (востребованный и используемый) обновляется в ситуации когда есть кому и что править.
Года ЕМНИП с 2001 (см. Changelog)в течение лет 5-6 (а то и больше, пишу по памяти, сверяться лень) исходный пакет не обновлялся.
При этом вполне себе использовался значительной частью заинтересованных лиц. В хвост и в гриву.
Полагаю, его возродили не столько из-за необходимости дополнения функционалом, сколько из-за сложностей интеграции в актуальное окружение.
:wq
--
Live free or die
Anarchist написал(а): Скорее
В свете соврменных коммуникационных возможностей... было бы логично просто: network interface, а там уже через ppp, wifi, ethernet... - грамотный пользователь сам решит.
В продолжении темы...
Я вот пытаюсь гуглить про openrc на тему modules="l2tp", которые были бы заточены для l2tp. Мне кажется, это как раз правильный подход к запуску. В моей версии openrc лежит много интересного (здесь только часть)
/lib64/rc/net/iproute2.sh
/lib64/rc/net/ethtool.sh
/lib64/rc/net/vlan.sh
/lib64/rc/net/iwconfig.sh
/lib64/rc/net/bridge.sh
/lib64/rc/net/tuntap.sh
/lib64/rc/net/dhcpcd.sh
/lib64/rc/net/bonding.sh
/lib64/rc/net/ifplugd.sh
/lib64/rc/net/pppd.sh
Соответственно, как порядочный человек подключаем себе модуль в /etc/conf.d/net с конкретной особенностью подключения, в модуль предварительно скрипты забросить, которые все отрабатыват (черновик которых кстати добрые люди уже набросали)... на и дальше по накатанной... config_, routes_, username__...
Никто не смотрел в этом направлении?
p.s. может я тут слишком флужу, даже и по теме ? ;)
для меня актуально, как раз поднимаю ipsec/l2tp для удаленных пользователей, вот шерстю все досконально,
но многим - без разницы