CentOS8 無法使用pppoe撥號 - Linux

Table of Contents

最近剛好也在弄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://www.ptt.cc/bbs/Linux/M.1599848259.A.C8C.html
brli7848: rp-pppoe覺得被忽略 09/12 02:33
brli7848: 人家還幫你寫好adsl.service跟updown script 09/12 02:34

白忙了XD 原來這是這樣用的
※ 編輯: a58524andy (140.112.151.226 臺灣), 09/12/2020 02:43:05
guezt: 我也好奇怎麼沒人提rp-pppoe 已經被遺忘了嗎? 09/12 08:40
kenduest: centos8 記得移除 rp-pppoe 套件了.. 09/12 19:05
Bellkna: arch只要裝這個rp-pppoe就好啊XD 之後再無腦pppoe-setup 09/12 19:47
Bellkna: 不過systemd-networkd也可以直接連線的樣子(沒試過 09/12 19:49
brli7848: 沒,networkd好像沒打算支援? 09/12 21:03
Bellkna: 範例檔好像有相關設定 可是rp-pppoe能動就懶得再試了 09/13 00:42

All Comments

Suhail Hany avatarSuhail Hany2020-09-16
rp-pppoe覺得被忽略
Ula avatarUla2020-09-17
人家還幫你寫好adsl.service跟updown script
James avatarJames2020-09-20
我也好奇怎麼沒人提rp-pppoe 已經被遺忘了嗎?
Ida avatarIda2020-09-24
centos8 記得移除 rp-pppoe 套件了..
Tom avatarTom2020-09-28
arch只要裝這個rp-pppoe就好啊XD 之後再無腦pppoe-setup
Iris avatarIris2020-09-28
不過systemd-networkd也可以直接連線的樣子(沒試過
Lucy avatarLucy2020-09-29
沒,networkd好像沒打算支援?
Hedy avatarHedy2020-10-01
範例檔好像有相關設定 可是rp-pppoe能動就懶得再試了