RPi и домашний провайдер

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

План был такой:

  • Поднять WiFi
  • Скачать и установить пакет с удалённого репозитория
  • Отключить WiFi и настроить нормальное PPPoE-соединение.
В сети есть советы "как поднять WiFi под RPi", но всё, что попадалось, по сути копипастило одинаковую мантру:
  • Настройте ваш /etc/networks/interfaces, в том числе и строчку wpa-conf (или wpa-roam)
  • Позапускайте sudo iwlist scan чтобы увидеть список точек доступа
  • Настройте ваш /etc/wpa_supplicant/wpa_supplicant.conf
  • Не забудьте перезагрузить
  • А посмотрите теперь что показывает sudo iwconfig...
В общем, для точки доступа, работающей в режиме незащищённого соединения всё это не подходило.
И вот какие шаги в итоге привели к корректному установлению соединения.

 Настройка WiFi адаптера

Файл /etc/networks/interfaces содержит следующие несколько строк для удачного запуска и подсоединения к сети, предоставляемой точкой доступа:
...
allow-hotplug wlan0
auto wlan0

iface wlan0 inet static
address 192.168.0.XX
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

wireless-essid <YOUR-AP-SSID>
wireless-mode managed
...

Комментарии к этой конфигурации.
Три точки это настройки других адаптеров ( lo, eth0 и wlan1), которые на данном этапе для нас не существенны.
В wireless-essid прописываем SSID интересующей нас точки доступа, без кавычек. wireless-mode можно не указывать, но для порядка — пусть будет.
Выбор статической конфигурации связан с нехорошим поведением при получении dhcp-лизы. Узнать её помогло тестовое соединение к точке через windows-машину.
Такая конфигурация в итоге позволила сделать sudo ping на IP внешний адрес.

Настройка DNS

По привычке прописал nameserver 8.8.8.8 в resolv.conf и... обнаружил, что некто сразу переписывает этот файл заведомо своей версией. Помогли разъяснения описанные вот тут: сначала прописал nohook для /etc/dhcpcd.conf и он вроде прекратил хулиганить, но потом всё-же реализовал соседний вариант с header.resolv.conf.
Запинговались доменные адреса!

И таким образом, прямо сейчас aptitude обновляет список пакетов. Правда, происходит всё не очень гладко из-за плохого уровня сигнала.

Итог

Сразу PPPoE завести не удалось. Пакет pppoeconf установился и при инсталляции прописал в interfaces несколько конфигурационных строк для ppp0 интерфейса и как-то странно впендюрил в конце "auto eth0".
Потом обнаружилось, что были неправильно указаны юзернейм и пароль. Т.е. при старте агрегат поднимает eth0 и ppp0, но справедливо обламывается на dhcp запросах.
Правка к корректным значениям привела к нормализации работы.

Лайфхаки

В процессе копания была проблема набора символов "#" для комментирования конфигов и "|" для grep и more при просмотре вывода команд. Помогла вот эта таблица ESC последовательностей:
  • "#" — ALT+35
  • "|"— ALT+124
Про редактор nano и его запуск из-под sudo, думаю и так всем известно.