Автоподключение pppoe и локаль

С переподключением при обрыве, имхо, только завести pppoe через daemontools:
http://aur.archlinux.org/packages.php?ID=16966

скачать это: http://aur.archlinux.org/packages/daemo … ols.tar.gz
распаковать
зайти в каталог, выполнить makepkg
поставить пакет в систему pacman -U …

ну дальше читать документацию как добавлять сервисы. Если кратко, для ‘pppoe’, то так:
mkdir /etc/ppp-internet
echo ‘#!/bin/bash’ > /etc/ppp-internet/run
echo ‘ifconfig eth0 up’ >> /etc/ppp-internet/run # тут укажи сетевую которая у тебя подключена
echo ‘pppd nodetach call dsl-provider’ >> /etc/ppp-internet/run # nodetach - обязательно. за подробностями в документацию.
chmod +x /etc/ppp-internet/run

ну потом создай этот самый dsl-provider, файл /etc/ppp/peers/dsl-provider с примерно следующим содержимым:
plugin rp-pppoe.so
# network interface
eth0
# login name
name "pppoe-login"
# use assigned DNS
usepeerdns
# add default route to connection
defaultroute
hide-password
noauth
# create interface with name ppp999 (in my case others users from LAN have access to Internet via VPN for accounting purposes)
unit 999

В конфиге никоим образом не должно быть опции “persist”. Логин/пароль должны быть прописаны в /etc/pap-secrets или /etc/chap-secrets

ну и последний пасс:
ln -s /etc/ppp-internet /service/

управлять процессами daemontools можно при помощи команды svc
systemd должен умереть.
А да, pppd не может переписать дефолтный роутинг, если уже есть дефолтный роутинг. Решения проблемы ещё не нашел (легкого). Вроде как, существует патч в Ubuntu который добавляет опцию в pppd типа “overridedefaultroute”.

Не легкое решение проблемы: воспользоваться скриптами в /etc/ppp/ip-up и /etc/ppp/ip-down в них при поднятии интерфейса - сохранять старый роутинг по-умолчанию, устанавливать новый на интерфейс, по отключению удалять правила роутинга и восстанавливать старый. Ещё лучше устанавливать метрики, допустим на локалку поставить метрику 10, на ppp - 1 - подробности в документации на iproute (man ip), тогда при поднятом ppp - будет он приоритетным, при опущенном - локалка.

Ну и ещё, файлы ip-up и ip-down я давно давно исправил на такие, и больше их не трогаю:
ip-up:
#!/bin/sh
#
# This script is run by pppd when there's a successful ppp connection.
#
for scr in /etc/ppp/ip-up.d/*
do
    if [ -x $src ]; then
        $scr $*
    fi
done

ip-down:
#!/bin/sh
#
# This script is run by pppd after the connection has ended.
#
for scr in /etc/ppp/ip-down.d/*
do
    if [ -x $src ]; then
        $scr $*
    fi
done

Создал каталоги:
mkdir /etc/ppp/{ip-up.d,ip-down.d}

и в них уже кидаю скрипты которые будут выполняться при поднятии/опускании подключения. Какие параметры получают скрипты, какие переменные окружения установлены: man pppd и дальше крути :)

На этом у меня вроде всё.
systemd должен умереть.
2 H4tr3d: Спасибо за подсказку, нашел подтверждение в PPPoE Setup with pppd (Русский). Есть мнение, что русский раздел неважно структурирован - я такими окольными путями на эту статью вышел %-/. Про скрипты буду думать, в принципе проблема не существенна поскольку скоро будет роутер дома, но хотелось бы решить по идейным соображениям.
st_boris
Есть мнение, что русский раздел неважно структурирован - я такими окольными путями на эту статью вышел %-/
ты всегда можешь помочь в этом, там всё мхом поросло
русский не нужен
такие дела.
tinman321
ЛОРмэн?
отнють ;)
такие дела.
cucullus
русский не нужен
Кому не нужен?

cucullus
отнють
Пишется "отнюдь".
rubicon
Кому не нужен?
не “кому”, а в качестве языка документации.


rubicon
Пишется "отнюдь".
согласен.
такие дела.
ИМХО, по вопросам локали русский не то, что нужен или нет, он - необходим

А по поводу вики, будет побольше знаний и времени, чем сейчас займусь.
st_boris, прошу прощения, если чем-то обидел ;)
По поводу автоматического переподключения pppd, в man pppd есть для этого опции. Если ситуация с pppoe не решилась, то предлагаю посмотреть в том же man pppd опции расширенного логирования, включить ее и посмотреть что там такого “нестандартного”
Разберемся, голубчик!
 
Зарегистрироваться или войдите чтобы оставить сообщение.