Ubuntu16.04 “有线未托管”有线网络不可用问题解决

Ubuntu16.04 “有线未托管”问题解决

电脑上安装的Ubuntu16.04 是通过先安装Ubuntu Server后在通过命令 sudo tasksel 安装的Gnome桌面环境,安装完成后发现当插上有线网络后不能自动获取ip地址上网,重启网络后能获取地址但是通过浏览器也不能打开网页,查阅资料后发现造成问题的原因如下:

Linux里面有两套管理网络连接的方案:
第一套: /etc/network/interfaces(/etc/init.d/networking)适用于没有桌面的环境,如:服务器;或者那些完全不需要改动连接的场合。(我是通过这种方法安装的系统)

第二套: Network-Manager 适用于有桌面的环境,特别是网络连接情况随时会变的情况。

NetworkManager 是为了使网络配置尽可能简单而开发的网络管理软件包,如果使用 DHCP,NetworkManager 会替换默认的路由表、从 DHCP 服务器获取 IP 地址并根据情况设置域名服务器,NetworkManager 的目标是使网络能够开箱即用。
NetworkManager 由两部分组成:

一个以超级用户运行的守护进程(network-manager );
一个前端管理程序(network-manager-gnome, network-manager-kde 或者 cnetworkmanager )。

一、有线网络未受 NetworkManager 管理
通过命令行安装系统(命令行下默认不安装NetworkManager)后在安装桌面环境,
这种情况下NetworkManager 不接管/etc/network/interfaces 文件里配置的任何网络接口。也就是说,如果:
1、etc/network/interfaces 文件里已经配置了网络接口,如下:

pipci@ubuntu:/etc/network$ cat interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp2s0
iface enp2s0 inet dhcp
pipci@ubuntu:/etc/network$

上面的配置文件可以知道enp2s0接口是DHCH,已经配置了网络接口。

2、并且 /etc/NetworkManager/NetworkManager.conf 是这样配置:
pipci@ubuntu:~$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false
pipci@ubuntu:~$

配置文件中managed=false

如果同时满足上面2点,网络设置不受 NetworkManager 管理。

二、启用 NetworkManager 管理网络接口

如果希望 NetworkManager 接管在 /etc/network/interfaces 已经配置了网络接口,则进行以下操作:

在 /etc/NetworkManager/NetworkManager.conf 里修改为此设置 managed=true;如下:

pipci@ubuntu:~$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=true
pipci@ubuntu:~$

以超级用户重新启动 NetworkManager 服务:
service network-manager restart

或重启之后,就可以使用有线连接了.

原文地址:https://www.cnblogs.com/pipci/p/8528323.html