创建这篇笔记,是因为我们遇到一个问题,这个问题与CentOSStream发行版有关。自从出现CentOSStream版本之后,我们直接跳过CentOS8版本,便开始选择其他Linux发行版。我们认为短期之内不能指望使用RockyLinux来替代CentOS发行版。最后经过一番权衡,我们选择UbuntuServerTLS系列发行版。我们安装发行版,以完成相关工作任务。然而,在配置网络时,我们便遇到问题:Ubuntu没有使用NetworkManager管理网络配置?
不同于发行版,在中,开始使用NetworkManager进行网络管理。在RHCE的官方课程中,也是力推NetworkManager进行管理管理,取代以往修改配置文件的网络管理方式。而使用NetworkManager进行网络管理,需要使用nmctl命令来操纵实现网络配置。但是,在中,没有nmctl命令,也没有()在运行。经过官方文档查找,我们发现在中使用Netplan进行网络管理,而Netplan是个前端程序,它会调用NetworkManager或者systemd-networkd完成网络配置。哦,原来Ubuntu使用其他管理工具来管理网络。
然后,我们便开始回忆其他Linux发行版,我们逐渐发现:现在,工具越来越多,每个发行版都有自己的管理方法,都有自己的管理工具。比如RHEL/CentOS开始使用firewalld管理防火墙,而在Ubuntu中,采用ufw管理防火墙。还有文件系统,各个发行版默认采用不同的文件系统,那么管理工具也不相同。这些便催生这篇笔记,我们需要汇总各个发行版中管理网络的工具,否则将来维护系统时将无从下手(虽然底层原理没有过多变化,但是这些五花八门的工具的用法已经足够让人焦头烂额)。
该笔记将记录:概述各种Linux发行版的默认配置网络的工具、相关的学习资料,以及要面对的问题。
2.解决方案3.网络管理的方式在Linux中,管理网络方式分为两种:
1)通过修改配置文件(废弃)
在以前维护网络配置时,主要通过修改/etc/sysconfig/network-scripts/配置文件,然后servicenetworkrestart便可完成网络配置。现在情况已经发生改变,很多Linux发行版开始提供网络管理工具,比如CentOS/RHEL/Debian的NetworkManager、Ubuntu的Netplan、systemd-networkd(networkctl)等等,这些工具屏蔽网络配置的存储方式,以后将越来越难以通过修改配置文件的方式来完成网络设置。所以,我们很早就开始使用NetworkManager进行网络配置,紧跟发行版的步伐,彻底放弃通过修改配置文件的方式。
题外话:在Linux中,很多服务的管理,多数是通过修改配置,重载配置完成的,这绝对是种快捷、高效、清晰的方法。但是,操作系统的网络配置过于复杂,而非简单的修改配置既可完成,所以才会出现这些配置及管理网络的工具。
2)通过网络管理工具
比如NetworkManager、systemd-networkd、Netplan等等。这也是我们正在积极学习的工具,我们紧跟Linux发行版的步伐,以后将通过这些工具完成网络管理任务。但是,这也是我们积极推荐给别人的方法,毕竟在我们这个行业里,知识要及时更新:-)
4.管理网络的工具在Linux中,现有的常见网络管理工具:
1)NetworkManager
在2004时,RedHat启动NetworkManager项目,为了简化网络管理。截至目前(03/28/2021),功能丰富,能满足我们所有的网络配置需求。
2)systemd-networkd
systemd也属于RedHat公司,其中的systemd-networkd用于管理网络服务。systemd-networkd首次集成到systemd209中,但是功能有限,仅支持静态地址分配、基本的桥接设置。在systemd215时,加入ipv4DHCP、VXLAN支持。通过命令networkctl来操作systemd-networkd服务,实现网络配置。
3)Netplan
Netplan是Ca'non'i'cal公司的产品,而Ubuntu属于Canonical公司,所以Ubuntu使用Netplan配置网络也不足为其。Netplan是个前端程序,我们编写配置网络的YAML文件,然后Netplan解析该配置,最后它将调用后端的systemd-networkd或者NetworkManager来完成网络配置。在中,Netplan将调用systemd-networkd完成网络配置。
5.发行版默认工具5.1.在中,使用NetworkManager管理网络。现在官方保证NetworkMangaer稳定可用,我们就紧跟步伐。将来无论NetworkManager是否被其他工具替代,都不太可能回到直接修改配置文件的管理方式。
5.2.使用Netplan管理,默认后端为systemd-networkd服务。而配置systemd-networkd的networkctl命令版本为systemd237,还不支持网络配置。
配置网络的详细过程,官方手册已给出详细说明,参考Network-Configuration|Ubuntu()文档。
5.3.DebianGNU/(jessie)Debian就是Debian,一如既往,将选择权交由用户,让用户选择自己的工具:
1)我们能够通过修改配置文件的方式(/etc/network/interfaces)
2)亦能自行安装网络管理工具(比如NetworkManager、systemd-networkd等等)
关于Debian的网络配置,参考官方文档:
1)()
2)NetworkConfiguration()
#03/28/2021目前,对于Debian发行版,我们选择NetworkManager进行网络管理。但是,按照目前的态势,将来采用systemd-networkd的概率比较大。
6.参考文献Debian/()
systemd-networkd-ArchWiki()
NetworkManager-Wikipedia()
systemd-Wikipedia()
RedHatresetsCentOSLinuxandusersareangry|ZDNet()