Как использовать netplan для настройки PPPoE?

Я хочу добавить строки в рабочий файл 01-netcfg-yaml, чтобы автоматически подключить интерфейс к ppp, используя скрипт, созданный pppoeconf.

Но я не могу найти какие-либо руководства или примеры.

Я был бы очень признателен за «помощь», чтобы сделать это.

Спасибо заранее.

1
задан 16 July 2018 в 18:25

2 ответа

Есть вариант, если вы счастливы немного поработать. networkd-dispatcher может помочь вам запустить ваши собственные сценарии, чтобы делать то, что вам нужно, и примерно соответствует синтаксису сценариев в /etc/network/.

https://github.com/craftyguy/networkd-dispatcher

Кроме того, теперь это принято в Bionic (18.04) в репозитории «вселенная»:

https://launchpad.net/ubuntu/+source/networkd-dispatcher/1.7-0ubuntu1

# Install
sudo apt install networkd-dispatcher

# Documentation
man networkd-dispatcher
2
ответ дан 16 July 2018 в 18:25

Я настроил свой маршрутизатор PPPoE, работающий под управлением Ubuntu, используя netplan для обычного интерфейса Ethernet и напрямую используя systemd для интерфейса PPPoE.

Для части PPP я полностью исключил интерфейс PPPoE из netplan и создал файл /etc/systemd/system/ppp.service следующим образом. ens7 - это мой интерфейс, который подключен к моему модему PPPoE, который вам необходимо изменить (каждый раз) для вашего случая. Я также использую кадры baby jumbo, устанавливая свой MTU на 1508. Если ваш сетевой адаптер или интернет-провайдер не может с этим справиться, то вам следует удалить эту строку:

[Unit]
BindsTo=sys-subsystem-net-devices-ens7.device
After=sys-subsystem-net-devices-ens7.device

[Service]
ExecStartPre=/sbin/ip link set mtu 1508 dev ens7
ExecStartPre=/sbin/ip link set up dev ens7
ExecStart=/usr/sbin/pppd call provider
Type=forking
SuccessExitStatus=5
PIDFile=/run/ppp-pppoe.pid

[Install]
WantedBy=sys-subsystem-net-devices-ens7.device

My /etc/ppp/peers/provider выглядит следующим образом. Опять же, ens7 - это мой интерфейс PPPoE; вам нужно изменить его на свой ниже, вместе с my_username_with_my_isp. Если ваше оборудование (или интернет-провайдер) не может обрабатывать кадры baby jumbo, и вы удалили строку mtu выше, то также измените mtu и mru ниже на 1492. Я также включаю здесь ipv6. Добавьте usepeerdns, если хотите, чтобы используемые DNS-серверы вашего интернет-провайдера использовались (вместо того, чтобы настраивать их статически).

user my_username_with_my_isp
plugin rp-pppoe.so
ens7
noipdefault
defaultroute
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
noauth
persist
maxfail 0
mtu 1500
mru 1500
noaccomp
default-asyncmap
+ipv6
linkname pppoe

Мой /etc/ppp/chap-secrets выглядит следующим образом. Возможно, вам придется использовать /etc/ppp/pap-secrets вместо этого, если ваш провайдер не поддерживает CHAP.

* * my_password_with_my_isp

Чтобы собрать все вместе 18.04:

  1. Установите пакет ppp.

  2. Создайте / отредактируйте /etc/systemd/system/ppp.service, /etc/ppp/peers/provider и /etc/ppp/chap-secrets, как указано выше.

  3. Выполнить sudo systemctl daemon-reload, sudo systemctl enable ppp, а затем sudo systemctl start ppp.

  4. Используйте systemctl status ppp и просмотрите /var/log/syslog для статуса PPP.

1
ответ дан 16 July 2018 в 18:25

Другие вопросы по тегам:

Похожие вопросы: