[转]network-manager与interfaces冲突

 
[转]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
   
   
address
xxx.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与interfaces冲突

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-manager
stop                                       
# 停止 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                                      
# 启动 nm
服务

上一篇:PATH and CLASSPATH


下一篇:Python 内置库 sys用法