Debian/Ubuntu系列发行版网络配置介绍


Debian/Ubuntu系列发行版里面有两套管理网络连接的方案:
第一套: 通过网络配置脚本/etc/init.d/networking对网卡配置文件/etc/network/interfaces内的参数进行网络配置,适用于没有桌面的环境,如:服务器;或者那些完全不需要改动连接的场合。

第二套: Network-Manager 适用于有桌面的环境,特别是网络连接情况随时会变的情况。然而现在更新的发行办更推荐的作法是使用NetworkManager来管理网络

NetworkManager 是为了使网络配置尽可能简单而开发的网络管理软件包,目标是使网络能够开箱即用。是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器优先连接已知的网络并可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器会相对无线网络优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。

NetworkManager 由两部分组成:

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

一、NetworkManager和/etc/network/interfaces的关系

1:当系统内无NetworkManager时,系统默认使用 interfaces 文件内的参数进行网络配置。
2:当系统内安装了NetworkManager时之后,如果在 /etc/network/interfaces里设置了网卡信息,那么NetworkManager就不会接管该网卡,如果没有设置NetworkManager默认是会接管网卡的。

通过上面的关系我们知道,要不通过网络配置脚本/etc/init.d/networking进网络配置,要不通过NetworkManager进行网络配置,两个不能同时使用,只能用一种方式配置。

二、通过网络配置脚本/etc/init.d/networking进网络配置

1、如果系统内安装了NetworkManager服务,此时在root用户下设置该服务开机不启动

在debian8或则更高系统上:
--------------------------------------------------------------
systemctl disable NetworkManager
--------------------------------------------------------------
在debain7或更早的系统上
--------------------------------------------------------------
update-rc.d network-manager remove
--------------------------------------------------------------

2、将NetwokManager服务关闭
在debian8或则更高系统上:
--------------------------------------------------------------
systemctl stop NetworkManager
--------------------------------------------------------------
在debain7或更早的系统上
--------------------------------------------------------------
/etc/init.d/network-manager stop
--------------------------------------------------------------
通过上面的设置可以避免两套方案同时存储在发成冲突产生的莫名奇妙的问题,如果真的发现网络有莫名其妙的问题,首先查看是否两套方案都存在,如果存在选择其中的一种。

3、网络配置参考我以前的文章:Debian/ubuntu server 网络配置,主机名配置


三、通过Network-Manager

1、安装软件包
--------------------------------------------------------------
apt install network-manager             ##如果没有安装桌面环境,只安装这个软件包就可以
apt install network-manager-gnome        ##如果有安装桌面环境,桌面环境是gnome或xfce安装这个
apt install network-manager-kde          ##如果有安装桌面环境,桌面环境是kde安装这个
--------------------------------------------------------------
安装NetworkManager包后,命令行中多出两个命令,一个是nmcli纯命令的网络配置工具,一个是nmtui的终端图形配置工具。
如果有桌面环境,桌面环境是GNOME2或Xfce就用“网络连接”这个程序配置,在终端下可以输入nm-connection-editor命令打开“网络连接”,如果是GNOME3桌面环境在设置里有网络选项可以

用于网络配置,如果想使用“网络连接”这个程序配置就需要在终端输入nm-connection-editor命令打开“网络连接” GNOME没有提供“网络连接”这个程序配置这个图标

2、注释掉所有/etc/network/interfaces 里的内容,仅仅保留本地回环网络:
--------------------------------------------------------------
auto lo
iface lo inet loopback
--------------------------------------------------------------
只保留上面这两行。

3、在 /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来管理网络了

注意
默认可能是managed=false,但是如果/etc/network/interfaces没有配置对应网卡的配置信息,通过NetworkManager配置的网络也一样可以用,
但是如果/etc/network/interfaces配置了对应网卡的配置信息,同时managed=true,又通过NetworkManager对这个网卡也配置信息,这个这个网卡就不能有了
因为它不知道听谁的,这都不是标准的配置,通过网络配置脚本/etc/init.d/networking方式就不要用NetworkManager,通过NetworkManager就不要在/etc/network/interfaces里
对网卡进行配置,二选一 最可靠

4、以超级用户重新启动 NetworkManager 服务:
systemctl start NetworkManager.service
设置开启动
systemctl enable NetworkManager

5、网络配置的方法

方法1、通过nmcli或nmtui命令,后面会有专门的文章介绍。

方法2、GNOME3桌面环境

GNOME3桌面环境有两个地方可以配置网络,一个是在设置里的网络选项

二是通过nm-connection-editor命令打开“网络连接”

GNOME2或Xfce桌面环境通过“网络连接”进行配置



参考:

https://wiki.debian.org/zh_CN/NetworkManager#doc

https://wiki.debian.org/zh_CN/NetworkConfiguration

https://wiki.debian.org/zh_CN/NetworkManager

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