Linux-systemd-networkd-服务
systemd-networkd 服务介绍
systemd-networkd
是一个系统守护进程, 其负责在 Linux 系统上配置和管理网络接口. 它是 systemd
系统管理器的一部分, 可以处理静态或动态 IP 地址配置, 并支持各种网络配置选项.
在 Archlinux 上, systemd-networkd
似乎没有启用, 此时是由 NetworkManager
, iwd
等在进行网络管理.
systemd-networkd 服务启用
1 |
|
systemd-networkd 服务管理
可以用 networkctl
命令控制和查看 systemd-networkd
服务.
/etc/systemd/network 目录下的文件
/etc/systemd/network
目录是用于存储网络配置的地方. 这个目录是 systemd
网络管理服务 systemd-networkd
(一个在系统启动时自动配置网络连接的守护进程.) 的一部分
扩展名约定
这个目录下的文件通常有 .network
, .netdev
, .link
等扩展名, 每种扩展名的文件都有其特定的作用:
.network
: 该类文件用于配置网络接口, 可以定义 IP 地址, 路由, DNS 设置等.netdev
: 该类文件用于创建网络设备, 例如桥接, 绑定, VLAN 等.link
: 这种文件用于定义物理设备的属性, 例如 MAC 地址, MTU 等
文件名约定
文件名也有一定的要求, 一般是两个部分组成: 一个 “数字” 和一个 “描述性名称”, 且两部分用 “-“ 分隔, 如 10-eth0.network
.
- “数字” 部分被用来决定加载配置文件的顺序, 数字越小, 文件越早被读取. 如果有多个文件匹配同一个设备, 那么最后被读取的文件将覆盖先前的设置
.network 文件示例
1 |
|
在 [Match]
section, 用:
Name=
指定该配置应用于哪一个网络接口.
[Network]
Section, 用:
Address=
指定静态 IPGateway=
指定网关地址DNS=
指定 DNS 服务器
.netdev 文件
1 |
|
[NetDev]
section 用:
Name=
用于指定要创建的网络设备名Kind=
指定网络设备的类型
.link 文件
1 |
|
[Match]
section 用:
MACAddress=
, 通过 MAC 地址指定该配置用于哪个网络接口
[Link]
section 用:
Name=
, 设置网络接口名称
添加一个 bridge network device
依赖安装
安装 bridge-utils
软件包:
1 |
|
bridge 配置文件
创建网络配置文件, 在 /etc/systemd/network
目录下, 创建两个文件 br0.netdev
和 br0.network
.
br0.netdev
文件定义了桥接设备:
1 |
|
br0.network
文件定义了桥接网络:
1 |
|
physical 接口配置文件
之后创建 eth0.network
文件 (eth0 替换为实际的物理网络接口名):
1 |
|
重启 systemd-networkd 服务
1 |
|
Linux-systemd-networkd-服务
http://example.com/2024/04/28/Linux-systemd-networkd-服务/