Ubuntu 16.04設(shè)置IP、網(wǎng)關(guān)、DNS
說(shuō)明:在網(wǎng)上給的教程上面通常會(huì)有這樣的一個(gè)誤導(dǎo)思路,按照配置文件設(shè)置后會(huì)不生效的問(wèn)題,甚至沒(méi)有一點(diǎn)效果,經(jīng)過(guò)排查發(fā)現(xiàn)Linux下設(shè)置IP這個(gè)話題的入口線索應(yīng)該分為兩種:1為Server版,2為Desktop版,這兩種版本的設(shè)置方式有很大區(qū)別,主要在于軟件的問(wèn)題。Service版按常規(guī)版設(shè)置即可,但是Desktop版的有一個(gè)Network-manager的軟件,這個(gè)軟件是簡(jiǎn)化IP的設(shè)置,所以很多時(shí)候按照網(wǎng)上的配置教程設(shè)置后會(huì)造成不生效的問(wèn)題;一般情況如果按照Server版的設(shè)置后,重啟之后Network-manager就會(huì)失效,這一點(diǎn)很重要,而不是重啟服務(wù)生效。這些設(shè)置對(duì)于Ubuntu和CentOS 6同樣生效。
設(shè)置步驟:
一、Server版:
對(duì)于Ubuntu和CentOS 6配置都適用。
1、修改IP地址
打開/etc/network/interfaces
sudo vim /etc/network/interfaces
加入以下語(yǔ)句:
auto eth0 #要設(shè)置的網(wǎng)卡
iface eth0 inet static #設(shè)置靜態(tài)IP;如果是使用自動(dòng)IP用dhcp,后面的不用設(shè)置,一般少用
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子網(wǎng)掩碼
gatewayxxx.xxx.xxx.xxx #網(wǎng)關(guān)
2、修改DNS
打開/etc/resolv.conf
sudo vim /etc/resolv.conf
注意:上面設(shè)置的文件重啟后會(huì)覆蓋,如果要持久的保存,需要修改:/etc/resolvconf/resolv.conf.d/base
改為如下內(nèi)容:
search localdomain #如果本Server為DNS服務(wù)器,可以加上這一句,如果不是,可以不加
nameserver 172.16.3.4 #希望修改成的DNS
nameserver 172.16.3.3 #希望修改成的DNS
3、重啟服務(wù)生效
先運(yùn)行一次,然后在rc.local里加入這個(gè)重啟網(wǎng)絡(luò)配置的命令:
sudo /etc/init.d/networking restart #使網(wǎng)卡配置生效
sudo /etc/init.d/resolvconf restart #使DNS生效
二、Desktop版:
Desktop下有一個(gè)Network-manager的軟件,這個(gè)軟件如果上面設(shè)置了,那么默認(rèn)會(huì)以上面的配置為準(zhǔn),Network-manager會(huì)失效,但是這個(gè)設(shè)置只有在重啟電腦才會(huì)生效。
如果不重啟時(shí),那么需要停止這個(gè)服務(wù)再去設(shè)置
sudo service network-manager stop
接下來(lái)通過(guò)上面的配置即可。
但是這樣的做法有點(diǎn)麻煩,既然用了Desktop的,倒不如直接用Network-manager來(lái)設(shè)置快一些(也就是設(shè)置里面的網(wǎng)絡(luò)設(shè)置)。
同樣,如果要設(shè)置無(wú)線網(wǎng)卡的IP時(shí),用這個(gè)配置也是最快的,沒(méi)必要使用上面的配置進(jìn)行配置。
三、命令行快速設(shè)置:
這種方式重啟后會(huì)失效。
1、先停止Network-manager的服務(wù)
sudo service network-manager stop
2、設(shè)置IP和子網(wǎng)掩碼
sudo ifconfig ens33 192.168.199.31 netmask 255.255.255.0
3、設(shè)置網(wǎng)關(guān)
sudo route add default gw 192.168.199.1
4、設(shè)置DNS
sudo su
echo "nameserver 192.168.199.1" >> /etc/resolv.conf
完成后,輸入exit退出,上面的只是是即時(shí)生效的。但重啟后會(huì)失效,持久方式使用第一種方法。
四、總結(jié):
上面幾種方法都是最常用的方式,沒(méi)有更深入的做法,比如arp這些等等,如果要深入可以再找一下這方面的方法,下面有參考教程。
如果是CentOS,修改的文件就是:/etc/sysconfig/network-scripts,可以通過(guò)這個(gè)線索去查找。