networkd.conf 中文手册

译者:金步国


版权声明

本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。

其他作品

本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:

联系方式

由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。


手册索引 · 指令索引systemd-241

名称

networkd.conf, networkd.conf.d — 全局网络配置文件

大纲

/etc/systemd/networkd.conf

/etc/systemd/networkd.conf.d/*.conf

/usr/lib/systemd/networkd.conf.d/*.conf

描述

这些配置文件控制着全局网络参数。 当前仅用于设置 DUID(DHCP Unique Identifier)

配置目录及其优先级

默认设置是在编译期间确定的, 所以仅在确实需要修改默认设置的情况下, 才需要使用配置文件。位于 /etc/systemd/ 目录中的初始配置文件, 仅包含了展示选项默认值的注释, 目的在于方便系统管理员查看和直接修改。

如果软件包想要自定义某些默认设置, 那么必须将自定义的配置文件安装到 /usr/lib/systemd/*.conf.d/ 目录中。 /etc/ 目录仅供系统管理员使用。 系统管理员可以利用下面的逻辑来覆盖默认设置: 主配置文件最先被读取, 优先级也最低。 所有 *.conf.d/ 中的配置文件 都会覆盖主配置文件中的设置。 所有 *.conf.d/ 中的配置文件(无论位于哪个目录中), 统一按照文件名的字典顺序处理。 当多个配置文件都设置了同一个选项的时候: (1)如果该选项仅接受一个单一值,那么仅以文件名最靠后(字典顺序)的那一个为准; (2)如果该选项可接受一个值列表,那么将会按照文件名的字典顺序将所有值列表拼接起来。 为了便于排序, 建议给所有 *.conf.d/ 中的配置文件 都加上 两位十进制数字的文件名前缀。

如果系统管理员想要屏蔽 /usr/lib/ 目录中的某个配置文件, 那么最佳做法是在 /etc/ 目录中 创建一个指向 /dev/null 的同名符号链接, 即可彻底屏蔽 /usr/lib/ 目录中的 同名文件。

[DHCP] 小节选项

此小节用于配置 DUID(DHCP Unique Identifier) 的值。 DHCPv6 客户端在获取动态 IPv6 地址时, 会向 DHCPv6 服务器发送 DUID(DHCP Unique Identifier) 以及网络接口的 IAID(Identity Association Identifier)。 如果设置了 ClientIdentifier=duid ,那么当 DHCPv4 客户端在获取动态 IPv4 地址时, 会向 DHCPv4 服务器发送 DUID(DHCP Unique Identifier) 以及网络接口的 IAID(Identity Association Identifier)。 DHCP 服务器可根据 DUID 与 IAID 来唯一定位主机及其网络接口。 参见 systemd.network(5) 以了解详情。

能够识别的选项如下:

DUIDType=

指定 DUID 的生成方法。参见 RFC 3315 以了解所有选项。

可以使用的方法如下:

vendor

如果 "DUIDType=vendor" ,那么将会把"43793"(systemd)用作"vendor identifier", 并将其与经过散列的 machine-id(5) 值混合, 以生成 DUID 值。 这是默认值。

uuid

如果 "DUIDType=uuid" 并且未设置 DUIDRawData= , 那么 product UUID 将被用于 DUID 的值。如果系统中不存在有效的 product UUID , 那么应用专属的 machine-id(5) 将被用作 DUID 的值。关于应用专属的"machine ID"可参见 sd_id128_get_machine_app_specific(3) 手册。

如果设置了 "link-layer-time" 或 "link-layer" , 那么接口的MAC地址将被用作 DUID 值。可以在 "link-layer-time" 后面使用冒号设置一个明确的时间(例如 "link-layer-time:2018-01-23 12:34:56 UTC"), 若省略则表示使用默认时间 "2000-01-01 00:00:00 UTC"

无论使用上述哪种方法,DUIDRawData= 都可用于覆盖 实际的 DUID 值。

DUIDRawData=

将 DHCP DUID 的值设为一个以换行符结尾的16进制字符串(每个字节之间使用":"分隔)。 实际发送的 DUID 由 DUIDType= 与此选项共同决定。

此处设置的 DUID 会覆盖 systemd-networkd.service(8) 根据"machine ID"生成的 DUID 。要想针对每个网络设置专属的 DUID 可参考 systemd.network(5) 手册。 配置的 DHCP DUID 必须遵守 RFC 3315, RFC 6355 规范。关于 IAID 的配置,可参考 systemd.network(5) 手册。

例 1. 一个 DUIDType=vendor 类型的自定义 DUID 值

DUIDType=vendor
DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00

上述设置自定义了一个 14 字节长的 DUID 值。其类型为 DUID-EN("00:02")、 企业编号为 43793("00:00:ab:11")、产品序列号为 "f9:2a:c2:77:29:f9:5c:00" 。


参见

systemd(1), systemd.network(5), systemd-networkd.service(8), machine-id(5), sd_id128_get_machine_app_specific(3)