PPPoE в Arch Linux

Наше дело: джек обжать, кабель сунуть и бежать)
http://bash.im/quote/398883

Собственно, так, как описано в эпиграфе, монтажники, которые сегодня мне проводили Интернет, и поступили. Потому что я никому не уступлю право покопаться пару часов в моём Арчике :)

Старый провайдер пускал меня в сеть по ADSL, так что танцы с бубном ограничивались только настройкой "модема".

Новый провайдер любит линуксоидов и, желая подарить им ещё много времени для красноглазия, подключение сделал через PPPoE. Ничего, сейчас и его настроим. Делов-то... Едой запаслись, надеюсь?

Нам понадобятся пакеты dhcpcd и ppp (оба в группе base, так что наверняка уже установлены).

Первым делом смотрим, какой интерфейс у нас соответствует локальной сети, он обычно идёт вторым и имеет название вида enp4s1 (старое название было вида eth0):

ip link

Потом включаем DHCP:

systemctl enable dhcpcd@enp4s1.service
systemctl start dhcpcd@enp4s1.service

Возможна также работа без DHCP. Это позволит ускорить подключение при загрузке системы, но локальная сеть при этом работать не будет.

Чтобы обойтись без DHCP, нам нужно будет модифицировать юнит ppp@.service. Несмотря на то, что параметры локальной сети нам будут не нужны, её интерфейс всё же придётся поднимать (за разъяснения спасибо Natrio).

Создаём каталог /etc/systemd/system/ppp@.service.d, а в нём файл с любым названием, заканчивающимся на .conf, например ppp.conf. В этот файл пишем следующее:

[Service]
ExecStartPre=/usr/sbin/ip link set dev enp4s1 up

Заставляем systemd обратить внимание на наши изменения:

systemctl daemon-reload

Модификация закончена, дальнейшие настройки идентичны для обоих способов запуска.

Настраивать параметры подключения будем вручную, без использования пакета rp-pppoe (аналогичного pppoeconf в Ubuntu), в который входят скрипты для настройки и запуска/остановки соединения. Не путайте плагин (модуль ядра) rp-pppoe.so, который содержится в пакете ppp, и пакет rp-pppoe.

Создаём файл /etc/ppp/peers/provider и пишем в него буквально следующее:

plugin rp-pppoe.so
# network interface
enp4s1
# login name
user логин
persist
defaultroute
hide-password
noauth
usepeerdns

Дальше редактируем /etc/ppp/chap-secrets, добавляем туда такую строку:

логин * пароль

На /etc/ppp/pap-secrets не глядите даже, он, зараза, секреты хранить не умеет.

Теперь включаем PPP:

systemctl enable ppp@provider.service
systemctl start ppp@provider.service

Для быстрого ручного включения/выключения можно использовать команды pon и poff. Будьте осторожны, некоторые провайдеры блокируют аккаунт, если на компьютере запустить подключение дважды (первый раз подключение пойдёт при старте системы).

На этом всё, стабильного коннекта!

P.S. Если после подключения что-то не работает, проверьте DNS сервера в /etc/resolv.conf и наличие правильного роута.

Комментарии (RSS)

Кроме нетворк менеджера еще есть консольный скрипт adsl-setup, который ставится насколько помню вместе с rp-pppoe. Оно само спросит у тебя все необходимые явки и пароли и добавит необходимую инфу в конфиги pppd. Поднимать соединение потом надо будет через команду adsl-start.

Кстати нетворк менеджер не умеет реконектиться. Что очень печально. Поэтому всякие впн лучше поднимать с командной строки.

Ответить Отменить ответ

В Арче эти скрипты называются pppoe-setup и pppoe-start соответственно. Содержит их пакет rp-pppoe.

Ответить Отменить ответ

Лично я всегда pppoe настраиваю через pppoe-setup в арче. И потом только подключать pppoe-start, либо выключать pppoe-stop.

Ответить Отменить ответ

Здравствуйте lampslave.
Пытаюсь освоить арч, но в самом начале установки не могу настроить интернет. У меня pppoe соединение и провайдер просит ввести только логин и пароль. Я перерыл всю wiki, перечитал вас уйму раз, но толку от этого ноль. Прошу вас помочь мне следующим образом: вы настроите интернет, записав сам процесс настройки на видео, и чтобы заодно помочь очередному новичку, настройка будет происходить на моем компьютере посредством TeamViewer. Таким образом вы сразу убьете двух зайцев: поможете новичку и избавите себя от дополнительных вопросов других пользователей, т.к. на видео все будет наглядно показано. Затем видео будет выложено на YouTube. В нем будут присутствовать ссылки на ваш блог (как и в самом видео, так и в описании). Надеюсь на вашу помощь.

Ответить Отменить ответ

Здравствуйте. Нет, видео я записывать точно не буду, а насчёт помощи - скажите для начала, как вы собираетесь подключить меня через TeamViewer если у вас не работает интернет?

Ответить Отменить ответ

Интернет у меня работает на другом компе

Ответить Отменить ответ

Всё равно я не очень понимаю, как это должно происходить. Ладно, не важно. Что конкретно у вас не получается?

Ответить Отменить ответ

Читая вики делал так: в /etc/ppp/peers/провайдер писал:

plugin rp-pppoe.so
enp0s3
name "логин"
usepeerdns
persist
defaultroute
hide-password
noauth

Потом прописывал логин и пароль в /etc/ppp/pap-secrets(и chap тоже). Это не помогло. Использование pppoe-setup тоже не дало результатов.

Ответить Отменить ответ

Что значит "не помогло"? Логи смотрели?

Ответить Отменить ответ

После добавление в peers файл с конфигом journalctl выводит следущеее

При настройке через pppoe-setup скрин1 скрин2

Ответить Отменить ответ

Ну там же чёрным по белому написано authentification failed. Верните pap-secrets к исходному состоянию, проверьте логин/пароль в chap-secrets и попробуйте ещё раз.

Ответить Отменить ответ

Попробовал и вот что выдал лог

Ответить Отменить ответ

А что за провайдер у вас? Хотелось бы на его инструкцию по подключению взглянуть, пусть она и для винды будет.

Ответить Отменить ответ

Провайдер TPS(мало кто знает), от меня требовалось просто ввести логин и пароль

Ответить Отменить ответ

Кстати, а у вас adsl или оптика? Если есть adsl-роутер, можно попробовать настроить подключение на нём, а с компьютера подключаться просто по локальной сети.

Насчёт lcp пока не могу предложить ничего лучше, кроме как попробовать покрутить настройки в /etc/ppp/options. Там есть несколько опций, в частности passive и lcp-echo-failure.

Ответить Отменить ответ

Попробуйте настроить роутер, чтобы он сам к сети подключался. Это удобнее, да и на техподдержку можно рассчитывать в случае чего.

Ответить Отменить ответ

Здравствуйте. Не могли бы Вы написать, если это возможно, инструкцию, что называется, для дебилов типа меня по раздаче интернета через вторую сетевую карту? Интернет приходит по PPPoE, сейчас на том компе, куда приходит интернет стоит Ubuntu Server, вроде все работает, все раздает. На клиентском компьютере стоит ArchLinux, хотелось бы, так сказать, привести все к одному дистрибутиву. Не знаю, вики вроде читал, пытался воспроизвести, но ничего не получилось, поставил обратно Ubuntu Server. Заранее большое спасибо.

Ответить Отменить ответ

Здравствуйте. К сожалению не могу, я этим никогда не занимался.

Ответить Отменить ответ