linux -- Ubuntu修改靜態IP地址重啟后無法上網的解決


ubuntu設置靜態IP地址后,上不了網

文章中也提到,如果是在/etc/resolv.conf添加DNS,由於Ubuntu 有一個 resolvconf 服務,如果重啟它,那么 /etc/resolv.conf 的內容會被修改成默認的樣子,文件里也有提示文字:“DO

NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN”,所以不能直接修改 /etc/resolv.conf。

還有一點要注意的就是,/etc/resolv.conf其實是一個Link,它真實指向的是 /etc/resolvconf/resolv.conf。

因此,當我們設置成靜態IP地址,發現機器不能上網,這時候需要設置DNS,具體的以下兩種方法:

第一種方法

在網卡的配置文件里面加dns-nameservers xxx.xxx.xxx.xxx之類信息

iface eth0 inet static
address 192.168.1.250
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 192.168.3.45 192.168.8.10

 

第二種方法

/etc/resolv.conf中修改nameserver

修改Ubuntu DNS時, 查看/etc/resolv.conf 會看到他使用的dns是 nameserver 127.0.1.1,

是因為Ubuntu 會啟動dnsmasq服務, 解析域名時不需要到網絡運營商獲取..
在解析速度上會慢於網絡運營商(有cache).
自己是使用電信的網絡, ping 電信的dns速度在 (1 ms , 2 ms)左右, 速度是非常快的..
但使用網絡運營商的DNS會有一些不爽的地方, 比如無法解析的域名跳轉到114xxxxxxxxxxxxxx….
有些解析還沒到GFW就被屏蔽(GFW會再過濾解析).
使用dnsmasq是好處遠遠大於使用網絡運營商的DNS的..

使用Ubuntu一直以來很少動到/etc/resolv.conf這個文件, 原因是本身的dnsmasq加上路由器可以劫持域名

正常的修改Linux的DNS是編輯/etc/resolv.conf文件.
格式是: nameserver ,
如修改DNS為218.85.152.99(福建電信DNS)

一般這樣就直接好了..

系統裝有NetworkManager的話, 這樣的修改只是臨時的, 如重啟計算機, 或者插拔網線/etc/resolv.conf被重置為:”nameserver 127.0.0.1”(在base中有定義,重新加載了base中的內容)
Ubuntu默認是有裝NetworkManager的..

如果需要永久生效的話, 需要/etc/NetworkManager/NetworkManager.conf中的dns=dnsmasq注釋掉. 禁止使用dnsmasq插件.

然后重啟NetworkManager
注意: 這里終端不能使用su 切換到root, 只能在當前用戶使用sudo 去執行.

1 /etc/resolv.conf 其實是一個Link,它其實指向的是 /run/resolvconf/resolv.conf
2 Ubuntu 有一個 resolvconf 服務,如果重啟它,那么 /etc/resolv.conf 的內容會被修改成默認的樣子
所以 不能直接修改 /etc/resolv.conf

修改 resolvconf服務的配置文件: /etc/resolvconf/resolv.conf.d/head(或者base、tail這三個文件均可),加入所需的域名服務器:nameserver xxx.xxx.xxx.xxx

search mydomain.com
nameserver 61.139.39.73 nameserver 61.139.2.69

 

 

 

修改完成需要執行2個命令如下:

$resolvconf -u (關於 resolvconf 服務更多信息,可以用man查看:man resolvconf )
$/etc/init.d/networking restart

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM