tl;dr:在設定檔裡面除了 persist
外,還要加上 maxfail 0
。
中華 HiNet 家用方案有提供固一動七的 IPv4 address 可以用,我自己因為玩 DevOps/SRE 的項目,有個固定 IPv4 address 弄一台便當盒小主機跑個 Ubuntu 系統當 jump server (跳板機) 總是對於防火牆的設定比較友善。
家用方案的固定 IP 在網站上申請完以後,透過 PPPoE 撥號指定另外一組 username 拿到。
我遇到的問題時大多數斷線後會自己重連,但偶而就是不會,這次難得在土城家裡的主機發生,看 log 發現是 pppd 自己 exit 了:(時間是 UTC,大約是 2024/02/22 的早上三點多)
Feb 21 19:09:15 kennel pppd[716]: No response to 4 echo-requests Feb 21 19:09:15 kennel pppd[716]: Serial link appears to be disconnected. Feb 21 19:09:15 kennel pppd[716]: Connect time 7434.5 minutes. Feb 21 19:09:15 kennel pppd[716]: Sent 1240056869 bytes, received 1018762497 bytes. Feb 21 19:09:21 kennel pppd[716]: Connection terminated. Feb 21 19:09:21 kennel pppd[716]: Connect time 7434.5 minutes. Feb 21 19:09:21 kennel pppd[716]: Sent 1240056869 bytes, received 1018762497 bytes. Feb 21 19:09:21 kennel pppd[716]: Modem hangup Feb 21 19:10:27 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:10:27 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:11:32 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:11:32 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:12:37 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:12:37 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:13:42 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:13:42 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:14:47 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:14:47 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:15:52 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:15:52 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:16:57 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:16:57 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:18:02 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:18:02 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:19:07 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:19:07 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:20:12 kennel pppd[716]: Timeout waiting for PADO packets Feb 21 19:20:12 kennel pppd[716]: Unable to complete PPPoE Discovery Feb 21 19:20:12 kennel pppd[716]: Exit.
這邊算了一下「Unable to complete PPPoE Discovery」出現了十次,這種數字看起來就蠻可疑的,回頭去 pppd 的說明找 10
可以看到這段:
Terminate after n consecutive failed connection attempts. A value of 0 means no limit. The default value is 10.
接著網路上翻,在「How do I set a PPPoE connection to redial?」這邊看到有人也提到了這點:除了 persist
以外,也要記得改 maxfail
...