由于我还不是一个高级网络管理员,所以如果可以的话,请帮助我。
几周前,我使用可管理的 DNS/DNS 中继服务“重新配置”了我的家庭网络,以便我们使用家庭专用域名而不是 IP 地址(因为家里联网设备的数量开始增加太多)。我选择的解决方案是在我的 RPi 上设置通常的“dnsmasq”(基于最新 Ubuntu 的 Home Assistant),并且为了方便起见,我还将其设置为我们的 DHCP 服务器,而不是之前配置的路由器,以便在一个地方管理所有相关内容。这是我第一次使用“dnsmasq”,但最后似乎一切都运行正常……除了一件事:
当我重启 RPi 或其上的相应网络服务时,其所有 DHCP 连接的客户端都会以某种方式丢失 DNS,直到它们重新连接到网络。例如,在 RPi 重启后,我的计算机仍然具有之前租用的 IP 地址(并且似乎所有相应的网络设置),但名称解析无法继续工作,直到我断开并重新连接 NIC 到网络。使用 IP 地址寻址可以继续工作,但名称解析无法继续工作。我的所有其他设备也出现了同样的结果(手机、笔记本电脑等)。
“重新连接”后一切都正常,但如果没有它,我根本无法解析域名。
有人能指出正确的方向吗?如果问题很熟悉,那么问题的原因可能是什么?
目前我只使用 RPi 的 WiFi 连接……
路由器/网关IP:192.168.1.1
'netplan' 配置为
/etc/netplan/50-cloud-init.yaml
:# This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: version: 2 ethernets: eth0: dhcp4: true optional: true wifis: wlan0: optional: true access-points: "***": password: "***" hidden: true "***": password: "***" hidden: true dhcp4: false dhcp6: false addresses: [192.168.1.2/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [192.168.1.2,8.8.8.8]
所有自定义“dnsmasq”设置在
/etc/dnsmasq.d/ebola.conf
:domain-needed bogus-priv no-resolv server=8.8.8.8 server=4.4.4.4 local=/home/ebola/ dhcp-range=192.168.1.201,192.168.1.255,255.255.255.0,168h dhcp-option=option:router,192.168.1.1 dhcp-lease-max=50 dhcp-authoritative cache-size=5000 #------------------------------ dhcp-host=...(mac,hostname,ip,infinite) dhcp-host=...(mac,hostname,ip,infinite) dhcp-host=...(mac,hostname,ip,infinite)
/etc/hosts
我想通过本地域名访问的设备及其 IP 地址。
(对我来说最新的要求很有趣,因为我认为“dnsmasq”配置中的 DHCP 主机配置部分将定义它们,以防我在那里定义主机名。)
答案1
几周/几个月后,我发现了以下技巧,解决了这个问题:
https://unix.stackexchange.com/a/716330/540376
修复上述问题后(interface=wlan0
就我而言)进入我的‘dnsmasq’配置,我的问题就解决了。