16.04拒絕了dsl的使用者? [論壇 - Ubuntu安裝問題]
正在瀏覽:
1 名遊客
回覆: 16.04拒絕了dsl的使用者? |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2011/5/6 22:17 所屬群組:
已註冊使用者 等級: 2
HP : 0 / 37
![]() |
我的解法。
由於一直都知道:先使用 pppoeconf 做完設定之後, 有 GUI 的 NetworkManager 往往也就可以使用; 而 pppoeconf 在執行的一開始就會聲明對系統文件的修改在於: /etc/ppp/*secrets (chap-secrets 和 pap-secrets) /etc/ppp/peers/dsl-provider /etc/network/interfaces 這四個文件。 合理地推測:也許 NetworkManager 同樣需要這四個其中某些配置檔, 卻沒有辦法很好地產生、寫入、佈署或修改必要的文件? 這次利用 VBOX 反覆操作、對比篩檢,發現: 1. dsl-provider 在剛灌好時,系統裡是沒有的。 執行 pppoeconf 會產生它,用 NetworkManager 則沒動靜。 2. interfaces 剛灌好時就有,預設的內容很簡略(而且可能不符)。 執行 pppoeconf 會修改它,用 NetworkManager 則沒動靜。 3. chap-secrets 和 pap-secrets 剛灌好時就有,是要寫(DSL)帳密的。 執行 pppoeconf 會修改它,用 NetworkManager 則沒動靜。 好(?)總之,拿已經寫好的、在主端順利運作的配置檔,以複製貼上大法,一份一份配置檔單獨測試之後,確認 NetworkManager 需要 pap-secrets 這份配置檔,從頭到尾卻沒有去寫;當然,也有可能它預設還有自己的其他方法(卻失效),而 pap-secrets 只是其中可用的一種(讓使用者去自救的)方法? 反正,解法是用 root 去打開 /etc/ppp/pap-secrets 在最底下加入你的 DSL 帳號跟密碼,格式是: "username" * "password" 雙引號是必要的, 先打 DSL 帳號, 用空格隔開, 一個星號, 一樣用空格隔開, 再打密碼。 就這一個配置檔而已,弄好 NetworkManager 就可以再設置 DSL 使用了(這…… (當然有些人可能碰到的是其他狀況,這裡就幫不上了)
2016/5/8 23:29
|
||||||||||
![]() |
回覆: 16.04拒絕了dsl的使用者? |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
萬葉丸 寫到: 「以下測試環境是 Ubuntu Mate 16.04」 喔喔!除了「/etc/network/interfaces」要注意, 「萬葉丸」您找到另一個要注意的關鍵點了,讚的拉! 以下是我的測試 我之前「回覆」的測試步驟,是先從設定pppoeconf開始測試, 而這次測試,我使用新的系統,重新做測試,沒有使用pppoeconf, 一開始就使用nm-connection-editor來增加NetworkManager的連線。 就會產生一個檔案「/etc/NetworkManager/system-connections/MyDSL」 「MyDSL」是我在設定的時候,在GUI界面,「Connection name」這個欄位填入的。 「/etc/NetworkManager/system-connections/MyDSL」內容如下
然後我測試連線,一直連不上, 所以我照「萬葉丸」您說的 在「/etc/ppp/pap-secrets」這個檔加入下面一行
再使用「NetworkManager」來連線,就可以正常連線了。 因為我沒使用「pppoeconf」, 所以「/etc/network/interfaces」一樣是保持下面的內容,
=================================================== 至於 萬葉丸 寫到: 我的觀察,「NetworkManager」在做「pppoe」連線的時候,應該是執行「pppd」, 所以你說的那幾個設定檔,應該是「pppd」需要,而非「NetworkManager」需要。 當你用「NetworkManager」執行「pppoe」連線成功的時候, 然後執行下面的指令
你會看到類似下面的內容
然後你在「nm-applet」下拉選單,選擇「Disconnect」,再執行下面的指令
只會看到
所以可以推測「NetworkManager」是執行「pppd」來做「pppoe連線」,完整的指令就是「/usr/sbin/pppd nodetach lock nodefaultroute ipv6 , user xxxxxxxx@hinet.net plugin rp-pppoe.so nic-enp5s0 noauth nodeflate usepeerdns mru 1492 mtu 1492 lcp-echo-failure 5 lcp-echo-interval 30 idle 0 ipparam /org/freedesktop/NetworkManager/PPP plugin /usr/lib/pppd/2.4.7/nm-pppd-plugin.so」。 可以對照「man pppd」來看每個參數代表什麼意義。 另外也可以下載「network-manager」的「Source Package」下來看
可以研究「network-manager-1.1.93/src/ppp-manager/」
顯示
可以在「network-manager-1.1.93/src/ppp-manager/nm-ppp-manager.c 」, 找尋「create_pppd_cmd_line」「nm_ppp_manager_start」來看。 不過我也只是粗略的看,也沒真的懂程式碼寫的內容,只是紀錄,給想要深究的人,可以探索的點。 =================================================== ## /etc/ppp/pap-secrets and /etc/ppp/chap-secrets 至於「/etc/ppp/pap-secrets」 和「/etc/ppp/chap-secrets」怎麼產生的, 可以觀看「/var/lib/dpkg/info/ppp.postinst」
是安裝ppp套件的時候,執行「MaintainerScripts」,也就是「/var/lib/dpkg/info/ppp.postinst」, 參考上面的程式碼,也就是複製「/usr/share/ppp/chap-secrets」和「/usr/share/ppp/pap-secrets」而來。 至於「/etc/network/interfaces」和「/etc/ppp/peers/dsl-provider」, 我在之前的「回覆」就有紀錄如何產生的。 而執行「pppoeconf」後,會異動到那些檔, 可以觀看「/usr/sbin/pppoeconf」,我之前也有大略的紀錄在這個「回覆」裡。 =================================================== ## 更多參考 以上討論的一些內容,這篇「Ubuntu Community Help Wiki / ADSLPPPoE」大概都有提到,之前有貼過,再貼一次, 因為「Ubuntu Community Help Wiki / ADSLPPPoE」整理的比較完整有系統,可以再去翻來閱讀,對照著看。 * https://help.ubuntu.com/community/ADSLPPPoE * man pppd =================================================== 之前一篇相關的討論 * 回覆: 升級15.10後無法連線(已解決) - 「#24」「#26」 =================================================== 後記 (2017-03-15): 跟這個議題,無直接相關,若有發現會有「這篇」和「這篇」相關的情形, 也就是跟「DNS設定」相關的議題,後來我有寫一篇「關於「resolvconf」的操作使用」可以參考。 紀錄這個連結,以供未來有遇到相同問題的人,可以有機會找到參考資料。 =================================================== ![]()
2016/5/9 9:05
|
||||||||||
![]() |
回覆: 16.04拒絕了dsl的使用者? |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2011/7/9 13:27 所屬群組:
已註冊使用者 等級: 9
HP : 0 / 208
![]() |
如果 PPPoE/xDSL連線不正常,某些網站開不起來、特定網頁無法完全載入、chrome/chromium的line無法登入 等等
請先用ifconfig檢查ppp0的mtu值。 如果mtu值是1500,那麼用ifconfig設定成1492即可, 或是執行一次pppoeconf也可以。 原因出在networkmanager建立的PPPoE連線的mtu被設定成1500, (PPPoE的mtu一般是1492或更低)
2017/4/16 3:02
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.