zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Spring的设计理念和整体架构
    垃圾收集器与内存分配策略(3)
    垃圾收集器与内存分配策略(2)
    实践一次有趣的sql优化
    PHP之static
    PHP之const
    MySQL数据库常用操作
    PHP之__aotoload()自动加载机制
    PHP之类的属性方法重写
    MYSQL工具类简单实现
  • 原文地址:https://www.cnblogs.com/lanxuezaipiao/p/3613516.html
Copyright © 2011-2022 走看看