Linux系列:Fedora虛擬機設置固定IP上網(配置IP、網關、DNS、防止resolv.conf被重寫)


首先聲明:該方法在Fedora 17和18版本下有效,其它版本也許可行也許有所差異。



1.  虛擬機相關配置

如果不是虛擬機系統,則這步不需要,若是相關配置詳細信息請看“Linux系列:Ubuntu虛擬機設置固定IP上網(配置IP、網關、DNS、防止resolv.conf被重寫)”。

 

2. 設置靜態IP地址

首先選取你想要配置的網絡接口,可以通過ifconfig -a命令查看目前有哪些接口,一般都選擇eth0,然后編輯相應接口的配置文件,這里以eth0為例。

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

將BOOTPROTO從“dhcp”修改為“static”,並添加IPADDR, NETMASK 和GATEWAY參數,並保證ONBOOT是"yes"。我的配置如下,大家安按自己需求更改。

UUID="2be778d0-e42b-4a3e-9ad6-598f1681c4a9"
NM_CONTROLLED="yes"
DEVICE="eth0"
IPADDR=192.168.1.137
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
BOOTPROTO=static
ONBOOT="yes"

 

3. 配置DNS

命令:sudo vi /etc/resolv.conf

我的配置如下:

nameserver 202.38.64.1

當然這里是因人而異了,加上你自己的DNS服務器即可,我的是校內DNS。


4. 防止resolv.conf被重寫問題

從resolv.conf一開頭的那句

# Generated by NetworkManager

就知道resolv.conf這個文件與參考文獻(1)中Ubuntu 12.10一樣也是由NetworkManager這個程序生成的。

對於Fedora來說防止其被重寫的方法也有兩種(與Ubuntu不太一樣):


方法一:禁止Network Manager服務

首先停止該服務然后再禁止啟動,以下兩種方法都可行。

chkconfig --level 345 NetworkManager on

或者

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

如果上面方法不管用(我的奏效),那么試下下面第二種方法。


方法二:不由Network Manager接管DNS

大家細心的可能早已看到ifcfg-eth0配置文件里有這樣一句配置:

NM_CONTROLLED="yes"

其中NM就是Network Manager,意思是默認由Network Manager管理DNS服務,那么我們不由它管理不就行了嗎?

解決方法就是:

就文件中的NM_CONTROLLED=“yes”改為“no”,表示不由Network Manager接管。然后再去resolv.conf添加自己的DNS信息,重啟網絡后不會被重寫。


5.  重啟網絡應用配置

systemctl restart network.service


6. 參考文獻

(1)Linux系列:Ubuntu虛擬機設置固定IP上網(配置IP、網關、DNS、防止resolv.conf被重寫)

(2)Fedora 17: Setting a static IP address


免責聲明!

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



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