systemd-networkd / systemd-resolved 是否添加 DHCP 中指定的搜索域?

systemd-networkd / systemd-resolved 是否添加 DHCP 中指定的搜索域?

我使用 systemd-networkd 和 systemd-resolved 来管理我的网络配置和 DNS 解析。我以为它会包括 DHCP 服务器指定的搜索域,但似乎没有。

# /etc/systemd/network/wlan0.network
[Match]
Name=wlan0
[Network]
DHCP=yes

DHCP 服务器响应包括“选项:(15)域名”(我已经使用 wireshark 检查过),并且我还尝试添加“选项:(119)域搜索”,但我尝试的任何方法都没有导致在 resolv.conf 文件中添加“搜索”行:

# /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
...
nameserver 192.168.1.1
nameserver fe80::...

我知道我可以在或Domains=....中指定,但我希望 systemd 会尊重 DHCP 选项。wlan0.network/etc/systemd/resolved.conf

我已经重新启动了网络系统并确认/etc/resolv.conf符号链接正确:

$ systemctl daemon-reload && sysetmctl restart systemd-networkd && systemctl restart systemd-resolved
$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 32 Oct  4  2017 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
$ pacman -Qi systemd | grep Version
Version         : 243.51-1

答案1

您应该使用UseDomains=true评论中建议的选项,但根据您使用的 systemd 版本,这可能不够。我猜您是受到 systemd 问题的影响#8174systemd-networkd DHCP 搜索域选项这是固定的于2019年7月14日发布版本2432019 年 9 月 3 日的 systemd。

该问题描述如下:

我预计,通过在网络配置中启用 [DHCP]: UseDomains=true,DHCP 客户端将使用 DHCP 提供的搜索域。如果服务器将此选项指定为“强制”,则客户端仅使用 DHCP 提供的搜索域

顺便说一句,我强烈建议您咨询 Linux 相关的问题https://unix.stackexchange.com

相关内容