不同Linux发行版的网络配置文件
netplan、networkctl、nmcli 以及 systemd-networkd 是Linux系统中用于配置和管理网络的不同工具和服务,他们各自有不同的作用和使用情景。 netplan: 目的:netplan是一个基于YAML的网络配置抽象层,用于统一不同的网络配置服务(如NetworkManager和systemd-networkd)的配置方式。 配置文件:通常位于/etc/netplan/目录下,使用YAML格式。 工作方式:用户编辑YAML文件,netplan将这些配置转换为底层网络管理器(如NetworkManager或systemd-networkd)可以理解的配置。 适用环境:主要用于Ubuntu 17.10及以后版本。 networkctl: 目的:是systemd-networkd的命令行前端,用于查询和控制systemd-networkd管理的网络状态。 命令:可以查看网络接口的状态、配置等信息。 工作方式:作为systemd-networkd的辅助工具,直接与systemd-networkd的状态和配置进行交互。 适用环境:适合于使用systemd-networkd作为网络管理器的系统。 nmcli: 目的:是NetworkManager的命令行界面,用于配置和管理NetworkManager服务。 命令:可以进行网络连接的添加、修改、删除、激活和非激活等操作。 工作方式:直接与NetworkManager的守护进程进行交互,不依赖于其他配置文件,虽然也可以管理和查看/etc/NetworkManager/目录下的配置。 适用环境:广泛用于各种Linux发行版,尤其适合桌面环境和需要频繁更改网络设置的场景。 systemd-networkd: 目的:是一个系统服务,用于配置网络设备和连接。 配置文件:通常位于/etc/systemd/network/目录下。 工作方式:在系统启动时(或服务启动时)应用配置,管理网络接口。 适用环境:适合于服务器或容器环境,以及对于稳定性和轻量级配置有较高要求的场景。 systemctl 命令的区别 systemctl restart systemd-networkd:重启systemd-networkd服务,会重新应用/etc/systemd/network/目录下的配置。 systemctl restart networking:这通常是基于ifupdown的旧式网络管理脚本在Debian和Ubuntu上的服务名称,用于重启传统的网络服务。 systemctl restart network:在基于Red Hat的系统上,如CentOS和Fedora,这个命令会重启传统的网络服务(在这些系统中,System V之前的/etc/init.d/network脚本或与其相对应的systemd服务)。 他们之间的关系 netplan 可以配置以 systemd-networkd 或者 NetworkManager 为后端的网络设置。 networkctl 是 systemd-networkd 的配套工具,用于查看由 systemd-networkd 管理的网络接口的状态。 nmcli 是 NetworkManager 的命令行工具,用于配置和控制 NetworkManager。 systemd-networkd、networking、和 network 是Linux系统中可能的不同网络服务,具体使用哪一个取决于系统配置和发行版。通过systemctl重启这些服务可以应用新的网络配置或者重置网络连接。 Red Hat Linux / CentOS 系列网络配置文件路径: - /etc/sysconfig/network-scripts/ifcfg-ethX # IP地址,子网掩码等配置文件<br> - /etc/sysconfig/network-scripts/ifcfg-lo # 回环网卡配置<br> - /etc/sysconfig/network # 主机名和网关配置文件<br> - /etc/resolv.conf # DNS配置文件<br> - /etc/hosts # 主机和IP绑定信息<br> suse Linux 网络配置文件路径: - /etc/sysconfig/network/ifcfg-eth-id-HWaddr # IP地址,子网掩码等配置文件<br> - /etc/HOSTNAME # 全局主机名配置<br> - /etc/resolv.conf # DNS配置文件<br> - /etc/sysconfig/network/routes # 网关配置文件<br> - /etc/hosts # 主机和IP绑定信息<br> Debian / Ubuntu Linux 网络配置文件路径: ubuntu从17.10开始,已放弃在/etc/network/interfaces里固定IP的配置,即使配置也不会生效,而是改成netplan方式 ,配置写在/etc/netplan/的yaml文件里 ...