Нужно подключиться по РРТР в процессе установки.

vitamin, я не очень понял – зачем вы предлагаете удалять существующий дефолтный роут (метрика 200 с чем-то), если надо просто добавить свой с более приоритетной метрикой 0 (без слова metric)? Или pppd не создаст роут, даже если имеющийся ему не мешает?
Это вика предлагает. Если кому-нибудь не лень, было бы любопытно посмотреть на роуты до и после подключения без использования ip-pre-up.
Natrio
На Арче возиться лень было, а тут случай подвернулся на Убунте попробовать.
Так вот, роут для ppp создаётся, но он не становится дефолтным. Дефолтный по-прежнему смотрит в локалку. Если же его предварительно удалить, то всё подключается нормально. Так что вика, в общем-то не врёт.
vitamin
Или pppd не создаст роут, даже если имеющийся ему не мешает?
Именно pppd не даст создать дефолтный маршрут, если уже такой существует.
Бывшим убунтоводам этого не понять, т.к. у них pppd то ли патченый, то ли звезды к ним благосклонны. Но их демон pppd признает опцию replacedefaultroute, которая волшебным образом решает проблему замены дефолтного маршрута.
Любителям же лего Арчлинукса приходится делать это скриптами.
Подтверждаю, на кубунте всё гладко.
Ясно всё с вами :)

Лично я, если в некоей программе обнаруживается сильно мешающий баг или багофича, стараюсь его обойти или даже пропатчить. Приспосабливать свою систему, свои роуты и т.д. в этому багу я не собираюсь :)

Так как с моими роутами опция defaultroute всё равно бесполезна, я давно нашел правильный выход, он стандартен и прост, вот например:
root@OpenWrt:~# cd /etc/ppp/ip-up.d/
root@OpenWrt:/etc/ppp/ip-up.d# ls
00_defaultroute  10_start_tunnel  20_setdate
root@OpenWrt:/etc/ppp/ip-up.d# cat 00_defaultroute 
#!/bin/sh
ip route add default dev $IFNAME tab default
root@OpenWrt:/etc/ppp/ip-up.d# cat 10_start_tunnel 
#!/bin/sh
/etc/init.d/vtun reload
В вашем случае, очевидно, надо только убрать tab default. А удалять роуты только потому, что pppd почему-то не читает метрику, это жуткие костыли :)
Самое плохое в том, что мы не понимаем я не понимаю, что произойдёт, если дефолтных роутов будет два. Поэтому проще удалить "старый", тем более, что при обычном подключении через PPPoE он без надобности. А чтобы разбираться надо маны читать. Это сложно и вообще лень :(
lampslave
Самое плохое в том, что мы не понимаем я не понимаю, что произойдёт, если дефолтных роутов будет два. Поэтому проще удалить "старый", тем более, что при обычном подключении через PPPoE он без надобности. А чтобы разбираться надо маны читать. Это сложно и вообще лень :(
Я уже который раз говорю – учите "матчасть" :)
Чем ниже метрика, тем выше приоритет роута. Если в таблице есть больше одного роута на один адрес, действует только тот, у которого самый высокий приоритет, то есть самая низкая метрика.

dhcpcd создаёт свои роуты с метрикой больше 200, мы создаём роут с метрикой 0 (ноль ставится по-умолчанию, если не указывать метрику вообще).

Произойдёт следующее – пока PPP-интерфейс активен, будет работать ТОЛЬКО тот дефолтный роут, что указывает в него, потому что у него ниже метрика. Когда PPP пропадет (а с ним и все связанные роуты!) – снова будет действовать оставшийся дефолтный роут в локалку.

Что касается "надобности", то при PPPoE-подключении назначать IP-адреса локалке ВООБЩЕ НЕ НУЖНО. А вот при PPTP/L2TP такая надобность очень даже есть, и удаление роутов чревато проблемами при переподключении как минимум.
Очень напомнило: http://bash.im/quote/332495 :)
Спасибо за разъяснение, я предполагал нечто подобное.

Что касается "надобности", то при PPPoE-подключении назначать IP-адреса локалке ВООБЩЕ НЕ НУЖНО.
Именно так у меня в Арче сейчас и настроено, опять же благодаря нашему общению :)
pppd нужно пилить руками чтоб работало, rp-pppoe имеет уже консольный конфигуратор типа ответьте на 10050 вопросов "да\нет". В этом разница, но конфиг который создает rp-pppoe все равно нужно доделать, работать будет в любом случае, но будет лучше если доделать. Еще есть разница в том что pppd юзает внешний rp-pppoe в юзерспейс, а пакет rp-pppoe пользуется вкомпиленым в ядро модулем что быстрее, смысле ниже по нагрузке на цп. актуально если у вас PPPoEще а если маленький pppoe так биз разнецы.
white_ghost
разница в том что pppd юзает внешний rp-pppoe в юзерспейс, а пакет rp-pppoe пользуется вкомпиленым в ядро модулем
$ pacman -Ql ppp | grep pppoe.so
ppp /usr/lib/pppd/2.4.5/rp-pppoe.so
$ pacman -Ql rp-pppoe | grep pppoe.so
rp-pppoe /usr/lib/rp-pppoe/rp-pppoe.so
Согласно документации rp-pppoe, именно плагин rp-pppoe.so отвечает за использование PPPoE на уровне ядра. Как видите, этот же плагин присутствует и в pppd :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.