VM虚拟机中的Fedora设置固定IP上网的方法


    首先声明:该方法在Fedora 17和18版本下有效,其它版本也许可行也许有所差异。
    
    1.  虚拟机相关配置
    如果不是虚拟机系统,则这步不需要,若是相关配置详细信息请看“VM虚拟机中的Ubuntu设置固定IP上网图文教程”。
    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</p> <p>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