如何使用netplan配置PPPoE?
我想在工作的01-netcfg-yaml
文件中添加行,以使用pppoeconf
创建的脚本自动将接口连接到ppp
。
但我找不到任何指南或例子。
我非常感谢“howto”帮助做到这一点。
提前致谢。
如果你乐意做一些修补,有一个选择。 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
我已经使用netplan配置我的PPPoE路由器运行Ubuntu用于常规以太网接口,并直接使用systemd用于PPPoE接口。
对于PPP部分,我完全将PPPoE接口从netplan中删除,并创建了一个/etc/systemd/system/ppp.service
文件,如下所示。 ens7
是我的接口,连接到我的PPPoE调制解调器,你需要更改(每次出现)你的情况。 我也通过将我的MTU设置为1508来使用婴儿巨型帧。如果您的NIC或ISP无法处理此问题,那么您应该删除该行:
[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
我的/etc/ppp/peers/provider
看起来像这样。 再次, ens7
是我的PPPoE接口; 你需要将它改为你自己的一个,以及my_username_with_my_isp
。 如果您的硬件(或ISP)无法处理婴儿巨型帧而您删除了上面的mtu行,那么也将mtu
和mru
更改为1492.我也在这里启用ipv6。 如果您希望使用ISP提供的DNS服务器(而不是静态配置它们),请添加usepeerdns
。
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
看起来像这样。 如果您的ISP不支持CHAP,您可能需要使用/etc/ppp/pap-secrets
。
* * my_password_with_my_isp
将它们放在一起于18.04:
-
安装
ppp
包。 -
如上所述创建/编辑
/etc/systemd/system/ppp.service
/etc/ppp/peers/provider
和/etc/ppp/chap-secrets
。 -
运行
sudo systemctl daemon-reload
,sudo systemctl enable ppp
,然后运行sudo systemctl start ppp
。 -
使用
systemctl status ppp
并查看/var/log/syslog
以获取PPP状态。