作者a58524andy (就先这样吧)
看板Linux
标题Re: [问题] CentOS8 无法使用pppoe拨号
时间Sat Sep 12 02:17:34 2020
最近刚好也在弄Archlinux上面连线种花PPPoE的事情,就顺便纪录一下好了
嗯虽然基本上就是照抄Archlinux Wiki…
https://wiki.archlinux.org/index.php/Ppp
事前准备:
能动的种花浮动ip
"By the way I use Arch"通行证
systemd
1. 安装ppp这个package,按照ppp的Archlinux Wiki
在/etc/ppp/peers底下写自己需要的连线设定档
个人额外设定了lcp-echo-interval、lcp-echo-failure、以及holdoff等判断
断线与否/重连方式等的设定
以下讨论假定设定档为/etc/ppp/peers/dsl_provider
2. 同样依照ppp的Arch Wiki页面指示,在/etc/ppp/chap-secrets写入PPPoE连线资讯
因为种花是种花,所以可能pap-secrets也要写
个人是没有後者就连不上,猜测是种花目前还是采pap方式认证的缘故
3. pppd call dsl_provider尝试连线
如果ip link指令有ppp0之类的新介面出现的话代表应该已经连线成功
若否则可以照Wiki指示,用journalctl查看错误原因
而若已经有了新的ppp0之类字眼的介面
但是ip仍然不是种花的固定ip时
可以确认ip route看看目前的routing是否有把该介面当作预设
而dsl_provider里加入defaultroute
则可以在pppd call dsl_provider建立PPPoE连线时
自动将该PPPoE虚拟介面作为预设routing
4. 如果需要开机自动连线,建立/etc/ppp/peers/dsl资料夹
在该资料夹下建立一个provider软连结,连到/etc/ppp/peers/dsl_provider
而後systemctl enable ppp@dsl_provider启用daemon
这样重开机後应该会自动连上
5. poff -a可以关掉目前所有PPPoE连线
没什麽大问题的话,至此应该有了可以动、可以关掉的种花PPPoE固定IP连线了。
接下来谈几个可能会出现的问题
1. ip route里ppp0前面有default字样
但是IP仍然不是种花给的IP
并且ip route给出来的资料不只有一行有前缀default
linux下routing是看定义的先後顺序以及metric值(0~100,default=0)决定的
metric小则优先,metric同则先定义者优先
因此若原本的浮动IP连线之类就已经有一个default卡着的话
需要用ip route del default之类的删掉之,而後视需求重新加回
如果是其他发行版的话,ppp可能会有额外的模组
可以直接在dsl_provider设定档内加入replacedefaultroute选项
如此在PPPoE连线成功後,daemon会帮你踢掉原本的default连线。
可惜Archlinux的ppp没有编入这个选项的支援,因此需要使用其他脚本解决
同样按照wiki指示,建立/etc/ppp/ip-pre-up、/etc/ppp/ip-pre-up.d/
其下放脚本处理之
2. networkmanager的nmcli看不到这个PPPoE连线
个人只玩过单用ppp完成PPPoE,这部份我也不清楚怎麽弄出来
要看楼上那篇之类的@@
总之ip指令确定是相容的
3. defaultroute没有metric设定选项,预设的0有些过强
这部份我是弄了个脚本解决丢到/etc/ip-up.d/解决
因为平常还会用到VPN的关系,而该vpn工具预设的metric在50
而我希望连上VPN後VPN的优先权大於种花固定IP
所以才有了脚本里60这个数字
大致上是在PPPoE连线建立後删掉所有default route
然後把个人会用到的vpn以及PPPoE加回来
脚本:
https://github.com/LIParadise/Archlinux-PPPoE-config
你说我的bash怎麽那麽丑?
https://i.imgur.com/2lADnNX.jpg
--
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1599848259.A.C8C.html
1F:推 brli7848: rp-pppoe觉得被忽略 09/12 02:33
2F:→ brli7848: 人家还帮你写好adsl.service跟updown script 09/12 02:34
白忙了XD 原来这是这样用的
※ 编辑: a58524andy (140.112.151.226 台湾), 09/12/2020 02:43:05
3F:推 guezt: 我也好奇怎麽没人提rp-pppoe 已经被遗忘了吗? 09/12 08:40
4F:→ kenduest: centos8 记得移除 rp-pppoe 套件了.. 09/12 19:05
5F:推 Bellkna: arch只要装这个rp-pppoe就好啊XD 之後再无脑pppoe-setup 09/12 19:47
6F:→ Bellkna: 不过systemd-networkd也可以直接连线的样子(没试过 09/12 19:49
7F:推 brli7848: 没,networkd好像没打算支援? 09/12 21:03
8F:→ Bellkna: 范例档好像有相关设定 可是rp-pppoe能动就懒得再试了 09/13 00:42