Fork me on GitHub

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

posted @ 2014-03-20 13:22  Alexia(minmin)  阅读(5298)  评论(0编辑  收藏  举报
无觅关联推荐,快速提升流量