В новых версия NetworkManager можно настраивать PPPoE без консоли, но сам NetworkManager является довольно дикой программой, я его сразу удаляю так как не вижу в нём смысла
Чтобы настроить подключение к провайдеру через PPPoE можно пойти двумя путями, простым с помощью (но вы так и не узнаете как же оно работает)
sudo pppoeconf
pppoeconf наверно самый простой мастер настройки подключения по pppoe, но он не даёт понимания всей картины и возможности настроить дополнительные параметры, но вполне подойдёт для быстрой настройки
и сложным, но весьма интересным через правку конфигов
За работу с протоколом PPPoE отвечает программа pppd, эта программа (даемон) требует от ядра поддержки модулей ppp_deflate, bsd_comp, ppp_async, pppoe, pppox (mod_probe ppp_generic), по умолчанию эта поддержка включена во все популярные дистрибутивы
Для подключения к провайдеру и настройки параметров сети требуется отредактировать несколько файлов
в файле /etc/ppp/chap-secrets хранятся пары значений "логин" * "пароль" выданных провайдером, туда можно занести сколько угодно таких пар, только необходимо отследить права доступа к этому файлу -rw------- root root, иметь возможность читать и писать в него должен только root
исторически сложилось, что в файле /etc/ppp/peers/dsl-provider находят настройки специфичный для конкретного провайдер, а так же логин для текущего соединения с ним, например в файле chap-secrets находятся акаунты для user1 user2 провайдера RTELECOM и акаунт для GPRS соединений Beeline, для подключения под логином user2 провайдера RTELECOM в этом файле дожна быть запись user "user2", все другие упоминания user должны быть закрыты символом # или удалены
Из полезных опций отмечу usepeerdns, она нужна когда нет собственного DNS сервера, у меня такой сервер есть, поэтому я за коментировал эту опцию
Для проверки соединения выполните команду pon <имя файла с настройками для нужного провайдера>, должен появится интерфейс ppp0 и пойти пинги
sudo pon dsl-provider # влючение
sudo poff dsl-provider # выключение
Если добавить своего пользователя в группу netdev то можно будет выполнять эту команду без sudo, имя dsl-provider не обязательное, можно изменить на любое имя файла, например divan-tv, нужно только не забывать про это при подключении
Затем, скорее всего, потребуется настроить автоматическое подключение при запуске и вообще встроить подключение в ситему, например для синхронизации с фаерволом, клиентом DynDNS или например для переключение режимов DNS сервера
Для этого нужно отредактировать файл /etc/network/interfaces добавить в него новое соединение, прописать скрипты и команды предшествующие и следующие перед запуском и после остановки интерфейса, вот мой пример
iface divan inet ppp
provider dsl-provider
pre-up /sbin/ifconfig eth1 up
post-up iptables-restore < /etc/iptable.rules
post-up /etc/init.d/ddclient start
pre-down iptables-save -c > /etc/iptable.rules
pre-down /etc/init.d/ddclient stop
post-down /sbin/ifconfig eth1 down
# эта опция нужна для автоматического включения соединения при старте или перезапуске сети sudo /etc/init.d/networking restart
auto divan
Тут видно, что новому соединению дано имя divan, а в качестве профиля для подключения используется уже настроенный файл dsl-provider, так же видны 2 последовательности из 3 команд которые обрабатывают в соответствии с префиксом. очевидно, что событие
- pre-up происходит перед активацией соединения
- post-up - после активации
- соответственно pre-down и post-down до и после разрушения соедиения
Эти события удобно использовать для например, включения и остановку Ethernet интерфейса, загрузки и сохранения параметров фаервола, привязки полученного IP к DNS имени на сервисе DynDNS
Теперь для управления этим соединением достаточно использовать утилиты ifup и ipdown <название соединения> или скриптом управляющим всему соединениями sudo /etc/init.d/networking restart
Вроде бы не сложно, всего 3 файла и несколько опций, за то сколько с помощью их можно настроить и добавить всяких возможностей, например можно написать скрипт, который переключает DNS сервер на использование внешнего DNS сервера или только на обслуживание внутренней зоны и привязав его к скрипту инициализации интерфейса можно сократить время ожидания загрузки недоступных страниц из интернета или например отправлять в свой Jabber сообщение о смене динамического IP
вот мой текущий /etc/network/interfaces
auto lo
iface lo inet loopback
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
iface eth1 inet static
address 192.168.80.76
netmask 255.255.255.0
auto eth1
Настройка PPPoE в Linux Gentoo