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
或重启之后,就可以使用有线连接了.