Ubuntu中网络配置interfaces与界面网络配置NetworkManager

【Server版本】

在Ubuntu Server版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改 /etc/network/interfaces 。具体设置方法如下:

(1) Ubuntu Server 修改 IP地址

打开 /etc/network/interfaces

 
  1. sudo vim /etc/network/interfaces

加入以下语句:

 
  1. auto eth0
  2.  
  3. iface eth0 inet static
  4.  
  5. address xxx.xxx.xxx.xxx #IP地址
  6.  
  7. netmask xxx.xxx.xxx.xxx #子网掩码
  8.  
  9. gateway xxx.xxx.xxx.xxx #网关

(2) Ubuntu Server 修改 DNS

打开 /etc/resolv.conf

 

 
  1. sudo vim/etc/resolv.conf

改为如下内容:

 
  1. search localdomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加
  2. nameserver 172. #希望修改成的DNS
  3. nameserver 172. #希望修改成的DNS

(3) Ubuntu Server 最后一步,也是最重要的一步

  在rc.local里加入这个重启网络配置的命令:

 
  1. sudo /etc/init.d/networking restart

【Desktop版本】

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

但如果修改了interfaces,又配置了network-manager(以下简称nm),你就会发现出现了一些莫名其妙的问题:

1,interfaces和 nm中的网络设置不一样,系统实际的IP是哪个?

2,有时候莫名其妙的,界面右上角的网络连接图标就丢失了。

3,明明在nm中配置了正确的网络设置,为什么就上不了网呢?

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

首先,当系统内没有第三方网络管理工具(比如nm)时,系统默认使用interfaces文件内的参数进行网络配置。(就像Server版本一样)

接着,当系统内安装了 nm之后,nm默认接管了系统的网络配置,使用nm 自己的网络配置参数来进行配置。

 

但是,如果用户在安装nm之后(Desktop版本默认安装了nm),自己手动修改了interfaces 文件,那nm 就自动停止对系统网络的管理,系统改使用interfaces 文件内的参数进行网络配置。

此时,再去修改nm 内的参数,不影响系统实际的网络配置。若要让nm 内的配置生效,必须重新启用nm 接管系统的网络配置。

现在知道了两者之间的工作关系,再看上面的三个问题:

1,要看nm是否接管,如果没有接管,系统实际的IP设置以interfaces 中的为准。反之,以nm 中的为准。

2,当nm 停止接管的时候,网络连接图标就丢失了。

3,同样是接管的问题。

如果用户希望在Desktop版本中,直接使用interfaces 进行网络配置,那可以关闭network-manager:

 
  1. /etc/init.d/network-manager stop

vi /etc/network/interfaces修改之后

确保/etc/NetworkManager/Network-manager.conf内的managed=false(系统默认是false,但是你更改过的话需要改这里)

 
  1. /etc/init.d/networking restart

如果希望能继续使用nm 来进行网络配置,则需要进行如下操作:

 
  1. sudo service network-manager stop # 停止 nm服务
  2. sudo rm /var/lib/NetworkManager/NetworkManager.state # 移除nm 的状态文件
  3. sudo gedit /etc/NetworkManager/nm-system-settings.conf # 打开nm 的配置文件

##里面有一行:managed=true

## 如果你手工改过 /etc/network/interfaces ,nm会自己把这行改成:managed=false(这里应该默认就是false)

## 将false 修改成true

Ubuntu中网络配置interfaces与界面网络配置NetworkManager

上一篇:Kestrel使用Https证书


下一篇:nodejs 安装