Configurei meu roteador PPPoE executando o Ubuntu usando o netplan para a interface Ethernet regular e usando diretamente o systemd para a interface PPPoE.
Para a parte PPP, deixei a interface PPPoE completamente fora do netplan e criei um arquivo /etc/systemd/system/ppp.service da seguinte forma. ens7 é a minha interface que está conectada ao meu modem PPPoE, que você precisará alterar (cada ocorrência) para o seu caso. Eu também estou usando quadros jumbo bebê, definindo meu MTU para 1508. Se o seu NIC ou ISP não pode lidar com isso, então você deve remover essa linha:
[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
Meu /etc/ppp/peers/provider se parece com isso. Novamente, ens7 é minha interface PPPoE; você precisará alterá-lo para o seu próprio abaixo, junto com my_username_with_my_isp . Se o seu hardware (ou ISP) não conseguir lidar com quadros jumbo do bebê e você tiver excluído a linha mtu acima, altere também mtu e mru abaixo para 1492. Também estou ativando o ipv6 aqui. Adicione usepeerdns se você quiser que os servidores DNS fornecidos pelo seu ISP sejam usados (em vez de configurá-los estaticamente).
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
Meu /etc/ppp/chap-secrets se parece com isso. Você pode precisar usar /etc/ppp/pap-secrets se seu ISP não suportar o CHAP.
* * my_password_with_my_isp
Para juntar tudo em 18.04:
-
Instale o pacote ppp .
-
Crie / edite /etc/systemd/system/ppp.service , /etc/ppp/peers/provider e /etc/ppp/chap-secrets como acima.
-
Execute sudo systemctl daemon-reload , sudo systemctl enable ppp e, em seguida, sudo systemctl start ppp .
-
Use systemctl status ppp e exiba /var/log/syslog para o status de PPP.