說明:在網上給的教程上面通常會有這樣的一個誤導思路,按照配置文件設置后會不生效的問題,甚至沒有一點效果,經過排查發現Linux下設置IP這個話題的入口線索應該分為兩種:1為Server版,2為Desktop版,這兩種版本的設置方式有很大區別,主要在於軟件的問題。Service版按常規版設置即可,但是Desktop版的有一個Network-manager的軟件,這個軟件是簡化IP的設置,所以很多時候按照網上的配置教程設置后會造成不生效的問題;一般情況如果按照Server版的設置后,重啟之后Network-manager就會失效,這一點很重要,而不是重啟服務生效。這些設置對於Ubuntu和CentOS 6同樣生效。
設置步驟:
一、Server版:
對於Ubuntu和CentOS 6配置都適用。
1、修改IP地址
打開/etc/network/interfaces
sudo vim /etc/network/interfaces
加入以下語句:
auto eth0 #要設置的網卡
iface eth0 inet static #設置靜態IP;如果是使用自動IP用dhcp,后面的不用設置,一般少用
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子網掩碼
gatewayxxx.xxx.xxx.xxx #網關
2、修改DNS
打開/etc/resolv.conf
sudo vim /etc/resolv.conf
注意:上面設置的文件重啟后會覆蓋,如果要持久的保存,需要修改:/etc/resolvconf/resolv.conf.d/base
改為如下內容:
search localdomain #如果本Server為DNS服務器,可以加上這一句,如果不是,可以不加 nameserver 172.16.3.4 #希望修改成的DNS nameserver 172.16.3.3 #希望修改成的DNS
3、重啟服務生效
先運行一次,然后在rc.local里加入這個重啟網絡配置的命令:
sudo /etc/init.d/networking restart #使網卡配置生效 sudo /etc/init.d/resolvconf restart #使DNS生效
二、Desktop版:
Desktop下有一個Network-manager的軟件,這個軟件如果上面設置了,那么默認會以上面的配置為准,Network-manager會失效,但是這個設置只有在重啟電腦才會生效。
如果不重啟時,那么需要停止這個服務再去設置
sudo service network-manager stop
接下來通過上面的配置即可。
但是這樣的做法有點麻煩,既然用了Desktop的,倒不如直接用Network-manager來設置快一些(也就是設置里面的網絡設置)。
同樣,如果要設置無線網卡的IP時,用這個配置也是最快的,沒必要使用上面的配置進行配置。
三、命令行快速設置:
這種方式重啟后會失效。
1、先停止Network-manager的服務
sudo service network-manager stop
2、設置IP和子網掩碼
sudo ifconfig ens33 192.168.199.31 netmask 255.255.255.0
3、設置網關
sudo route add default gw 192.168.199.1
4、設置DNS
sudo su echo "nameserver 192.168.199.1" >> /etc/resolv.conf
完成后,輸入exit退出,上面的只是是即時生效的。但重啟后會失效,持久方式使用第一種方法。
四、總結:
上面幾種方法都是最常用的方式,沒有更深入的做法,比如arp這些等等,如果要深入可以再找一下這方面的方法,下面有參考教程。
如果是CentOS,修改的文件就是:/etc/sysconfig/network-scripts,可以通過這個線索去查找。
參考:
https://wiki.debian.org/NetworkConfiguration(官方教程)
https://www.cnblogs.com/sankye/p/5020721.html(以上內容靈感來自此篇文章)
https://zhidao.baidu.com/question/2206476521318351508.html
http://blog.csdn.net/wangjingfei/article/details/5283632/
http://blog.csdn.net/aristolto/article/details/50543928
http://blog.csdn.net/zzu09huixu/article/details/17893357
http://blog.csdn.net/cuiyifang/article/details/8166977
http://www.360doc.com/content/11/1202/12/6828497_169109083.shtml
http://www.linuxidc.com/Linux/2014-06/102670.htm(ifconfig過時了,采用ip作為替代)