「Linux」- 作为系统管理员,应该如何进行操作系统网络配置 @20210329
问题描述
创建这篇笔记,是因为我们遇到一个问题,这个问题与 CentOS Stream 发行版有关。自从出现 CentOS Stream 版本之后,我们直接跳过 CentOS 8 版本,便开始选择其他 Linux 发行版。我们认为短期之内不能指望使用 Rocky Linux 来替代 CentOS 发行版。最后经过一番权衡,我们选择 Ubuntu Server TLS 系列发行版。我们安装 Ubuntu 18.04 TLS 发行版,以完成相关工作任务。然而,在配置网络时,我们便遇到问题:Ubuntu 没有使用 NetworkManager 管理网络配置?
不同于 CentOS 6.x 发行版,在 CentOS 7.x 中,开始使用 NetworkManager 进行网络管理。在 RHCE 的官方课程中,也是力推 NetworkManager 进行管理管理,取代以往修改配置文件的网络管理方式。而使用 NetworkManager 进行网络管理,需要使用 nmctl 命令来操纵 NetworkManager.service 实现网络配置。但是,在 Ubuntu 18.04 TLS 中,没有 nmctl 命令,也没有 NetworkManager.service(network-manager.service) 在运行。经过官方文档查找,我们发现在 Ubuntu 18.04 TLS 中使用 Netplan 进行网络管理,而 Netplan 是个前端程序,它会调用 NetworkManager 或者 systemd-networkd 完成网络配置。哦,原来 Ubuntu 使用其他管理工具来管理网络。
然后,我们便开始回忆其他 Linux 发行版,我们逐渐发现:现在,工具越来越多,每个发行版都有自己的管理方法,都有自己的管理工具。比如 RHEL/CentOS 开始使用 firewalld 管理防火墙,而在 Ubuntu 中,采用 ufw 管理防火墙。还有文件系统,各个发行版默认采用不同的文件系统,那么管理工具也不相同。这些便催生这篇笔记,我们需要汇总各个发行版中管理网络的工具,否则将来维护系统时将无从下手(虽然底层原理没有过多变化,但是这些五花八门的工具的用法已经足够让人焦头烂额)。
该笔记将记录:概述各种 Linux 发行版的默认配置网络的工具、相关的学习资料,以及要面对的问题。
解决方案
网络管理的方式
在 Linux 中,管理网络方式分为两种:
1)通过修改配置文件(废弃)
题外话:在 Linux 中,很多服务的管理,多数是通过修改配置,重载配置完成的,这绝对是种快捷、高效、清晰的方法。但是,操作系统的网络配置过于复杂,而非简单的修改配置既可完成,所以才会出现这些配置及管理网络的工具。
2)通过网络管理工具
管理网络的工具
在 Linux 中,现有的常见网络管理工具:
1)NetworkManager
2)systemd-networkd
3)Netplan
发行版默认工具
CentOS 7.x
在 CentOS 7.x 中,使用 NetworkManager 管理网络。现在官方保证 NetworkMangaer 稳定可用,我们就紧跟步伐。将来无论 NetworkManager 是否被其他工具替代,都不太可能回到直接修改配置文件的管理方式。
Ubuntu 18.04 LTS
使用 Netplan 管理,默认后端为 systemd-networkd 服务。而配置 systemd-networkd 的 networkctl 命令版本为 systemd 237,还不支持网络配置。
配置网络的详细过程,官方手册已给出详细说明,参考 Network - Configuration | Ubuntu 文档。
Debian GNU/Linux 8.10 (jessie)
Debian 就是 Debian,一如既往,将选择权交由用户,让用户选择自己的工具:
1)我们能够通过修改配置文件的方式(/etc/network/interfaces)
2)亦能自行安装网络管理工具(比如 NetworkManager、systemd-networkd 等等)
关于 Debian 的网络配置,参考官方文档:
1)Chapter 5. Network setup
2)Network Configuration
# 03/28/2021 目前,对于 Debian 发行版,我们选择 NetworkManager 进行网络管理。但是,按照目前的态势,将来采用 systemd-networkd 的概率比较大。
相关文章
「Linux」- 禁止 NetworkManager 修改 /etc/resolv.conf 配置
「Linux」- 使用源码编译安装 vs. 使用包管理器安装 vs. 使用二进制包安装
「Linux」- 监控文件删除、找到删除文件的进程
「Cron」- 安装及注意事项
「APT」- E: Sub-process /usr/bin/dpkg returned an error code (1)
「Linux」- fstab
「rsyslog」- 日志服务
参考文献
Debian/Chapter 5. Network setup
systemd-networkd - ArchWiki
NetworkManager - Wikipedia
systemd - Wikipedia
Red Hat resets CentOS Linux and users are angry | ZDNet