心血來潮在家裡的 ASUS RT-N66U 上刷了 Shibby Tomato,版本是 tomato-RT-N66U_RT-AC6x--130-AIO-64K
,結果遇到了 PPPoE 無法上網的怪問題。
網頁顯示撥接成功,但是透過 ppp 拿到的是自己在內網設定的 gateway IP,覺得非常奇怪。之前用 DD-WRT 或是官方韌體沒有遇到類似的問題。
在 pppoe Options 裡面加了 debug 觀察一下建立連線的 log,發現了以下的片段:
daemon.notice pppd[4953]: peer from calling number 00:22:AA:90:D3:C3 authorized
daemon.debug pppd[4953]: sent [IPCP ConfReq id=0x1 <addr 192.168.0.1> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
daemon.debug pppd[4953]: rcvd [IPCP ConfReq id=0x1 <addr 192.168.16.1> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns2 0.0.0.0> <ms-wins 0.0.0.0>]
daemon.debug pppd[4953]: sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns2 0.0.0.0> <ms-wins 0.0.0.0>]
daemon.debug pppd[4953]: rcvd [IPCP ConfNak id=0x1 <addr 192.168.0.1> <ms-dns1 168.95.192.1> <ms-dns2 168.95.1.1>]
daemon.debug pppd[4953]: sent [IPCP ConfReq id=0x2 <addr 192.168.0.1> <ms-dns1 168.95.192.1> <ms-dns2 168.95.1.1>]
daemon.debug pppd[4953]: rcvd [IPCP ConfReq id=0x2 <addr 192.168.16.1>]
daemon.notice pppd[4953]: local IP address 192.168.0.1
daemon.notice pppd[4953]: remote IP address 192.168.16.1
daemon.notice pppd[4953]: primary DNS address 168.95.192.1
daemon.notice pppd[4953]: secondary DNS address 168.95.1.1
發現了在 pppd 撥接的時候,router 送出了自己在 LAN 內的 gateway IP,而對方居然允許了,理論上應該不會發生這種事情才對,因為我希望對方給我一個動態配發的 IP 位置。
上網查了 pppd 的設定檔,發現在 pppoe options 裡面加上 noipdefault
就可以強迫 pppd 不送出自己在 LAN 的 IP 位置,如此一來就會拿到正確的 IP 位置了。