network-manager与interfaces冲突

网络配置的两种方式
Ubuntu下修改网络配置有两种方式:图形界面方式(network-manager)和修改/etc/network/interfaces
可是若是两种方式的网络设置不一样,就会产生冲突,即:network-manager与/etc/network/interfaces文件冲突。


Server版本
在Ubuntu Server版本中,由于只存有命令行模式,因此要想进行网络参数设置,只能经过修改配置文件 /etc/network/interfaces 。具体设置方法以下:
(1) Ubuntu Server 修改 IP地址
打开 /etc/network/interfaces:
    sudo vim /etc/network/interfaces
加入如下语句:
    auto eth0
    iface eth0 inet static
        addressxxx.xxx.xxx.xxx      #IP地址
        netmask xxx.xxx.xxx.xxx #子网掩码
        gateway xxx.xxx.xxx.xxx #网关
(2) Ubuntu Server 修改 DNS
打开 /etc/resolv.conf
    sudo vim /etc/resolv.conf
改成以下内容:
    search localdomain #若是本Server为DNS服务器,能够加上这一句,若是不是,能够不加
    nameserver 172.16.3.4 #但愿修改为的DNS
    nameserver 172.16.3.3 #但愿修改为的DNS
(3) Ubuntu Server 重启网络
在rc.local里加入这个重启网络配置的命令:
    sudo /etc/init.d/networking restart


Desktop版本
在Desktop版本中,除了能够修改 /etc/network/interfaces 来进行配置之外;还能够直接在network-manager中配置。经过interfaces 修改的方法参照Server版本。network-manager的配置和直观,按照提示一步一步操做便可,以下图。有兴趣的朋友,能够自行Google 或者Baidu。



network-manager和/etc/network/interfaces冲突
若是修改了interfaces ,又配置了network-manager(简称nm),你就会发现出现了一些莫名其妙的问题:
1:interfaces 和 nm 中的网络设置不同,系统实际的IP是哪一个?
2:有时候莫名其妙的,界面右上角的网络链接图标就丢失了。
3:明明在nm中配置了正确的网络设置,为何就上不了网呢?

其实,咱们要知道 interfaces 和 nm 之间的关系,这些问题就不难解释了。

network-manager和/etc/network/interfaces的关系
1:当系统内无第三方网络管理工具(如 nm)时,系统默认使用 interfaces 文件内的参数进行网络配置。
2:当系统内安装了 nm 以后,nm 默认接管了系统的网络配置,使用 nm 本身的网络配置参数来进行配置。
3:但若用户在安装 nm 以后(Desktop版本默认安装了nm),本身又手动修改了 interfaces 文件,
      那 nm 就自动中止对系统网络的管理,系统改使用 interfaces 文件内的参数进行网络配置。
      此时,再去修改 nm 内的参数,不影响系统实际的网络配置。
      若要让 nm 内的配置生效,必须从新启用nm 接管系统的网络配置。

如今知道了二者之间的工做关系,再看上面的三个问题:
1:要看nm是否接管,若是没有接管,系统实际的IP设置以 interfaces 中的为准。反之,以 nm 中的为准。
2:当 nm 中止接管的时候,网络链接图标就丢失了。
3:一样是接管的问题。
     若是用户但愿在Desktop版本中,直接使用 interfaces 进行网络配置,那最好删除 network-manager 。

network-manager从新接管
若是在出现上述问题以后,但愿能继续使用 nm 来进行网络配置,则须要进行以下操做:
sudo service network-managerstop                                        #中止 nm 服务
sudo rm/var/lib/NetworkManager/NetworkManager.state       #移除 nm 的状态文件
sudo gedit /etc/NetworkManager/nm-system-settings.conf     #打开 nm 的配置文件
## 里面有一行:managed=true
## 若是你手工改过 /etc/network/interfaces ,nm 会本身把这行改为:managed=false
## 将 false 修改为 true
sudo service network-manager start vim

相关文章
相关标签/搜索