Linux networkctl reload 命令详解
networkctl reload 命令会重新加载 systemd-networkd 的所有配置文件,具体路径和加载逻辑如下: 1. 配置文件的默认路径 systemd-networkd 从以下目录按优先级加载配置: (1)主配置文件目录 /etc/systemd/network/ 用户自定义配置(优先级最高,覆盖其他目录)。 /run/systemd/network/ 临时运行时配置(重启后丢失)。 /usr/lib/systemd/network/ 系统默认配置(优先级最低)。 (2)配置文件类型 .network:定义接口的网络参数(IP、路由、DNS 等)。 示例:/etc/systemd/network/10-static-eth0.network .link:物理/虚拟设备属性(MAC 地址、MTU 等)。 示例:/usr/lib/systemd/network/99-default.link .netdev:创建虚拟设备(如 VLAN、VPN)。 示例:/etc/systemd/network/20-vlan.netdev 2. reload 的具体行为 当执行 networkctl reload 时: 重新加载所有 .network、.link、.netdev 文件(包括上述三个目录中的配置)。 动态应用新配置(无需重启服务或接口): 如果接口的配置文件被修改,会根据新配置重新生效。 如果删除了某个配置文件,相关接口会恢复为 unmanaged 状态。 日志记录: 通过 journalctl -u systemd-networkd 可查看重载过程中的错误或警告。 3. 验证配置文件的路径 方法 1:通过 networkctl status 查看 sudo networkctl status eth0 | grep "Network File" 输出示例: Network File: /etc/systemd/network/10-static-eth0.network 方法 2:列出所有活动配置 sudo networkctl list | grep -i configured 输出中会显示哪些接口已被配置,并说明它们由哪个文件管理。 ...