問題描述
Ubuntu機器,之前用的電信的寬帶,可以正常上網。後來換成東方有線的機頂盒後,發現無法上網了。
分析
換成機頂盒後,Ubuntu機器通過網線連到機頂盒,無法上網。但機頂盒的wifi正常可用。
一開始懷疑,這個機頂盒的網口是否不可用。但網上查了,都提到網口可用。
爲此換了一臺Windows的機器,用網線連接(拔掉USB wifi),可以上網。所以,進一步驗證了機頂盒的網口是正常的。問題處在Ubuntu機器上。
又猜測,可能機頂盒不支持Ubuntu操作系統的機器。但一想這不可能。因爲機頂盒和其他任何機器通信,和操作系統無關,使用的只是標準的網絡協議。如此,確定和操作系統無關。
接下來看是否IP地址有問題。爲此通過ipconfig對比Windows和Linux下的數據,發現完全一樣。
接下來分析Ubuntu下ping是否可用。
ping www.baidu.com不行;再嘗試直接ping baidu對應的IP地址,發現可以ping通。然後在瀏覽器中直接輸入baidu對應的IP地址,發現可以上網。但點擊頁面上的鏈接之後,就無法上網。
如此,確定是DNS解析出了問題。即Ubuntu機器可以用IP地址訪問,但任何的域名相關的鏈接都無法識別。
所以,問題最終落在DNS解析上面。
解決方法
打開/etc/resolv.conf文件,發現內容如下:
# Generated by NetworkManager
nameserver 192.168.1.1
而換成機頂盒後,IP地址、掩碼如下:
flying-bird@flyingbird:~$ ifconfig
eth0 Link encap:Ethernet HWaddr ......
inet addr:192.168.100.101 Bcast:192.168.100.255 Mask:255.255.255.0
即DNS服務器和機頂盒的網段不一樣。至此,只需要把DNS域名服務器改爲 192.168.100.1即可。
sudo vi /etc/resolv.conf
補充
DNS改寫: