其他 Dnsmasq 选项中的 DD-WRT dhcp-host 再次不起作用

其他 Dnsmasq 选项中的 DD-WRT dhcp-host 再次不起作用

下面发布的解决方案工作了几天,然后失败了。如果我再花点时间的话,就又回到了基准测试。


尝试将 dnsmasq 服务从 Linux VM 移动到运行 v3.0-r48810 std 05/06/22 的新设置的 DD-WRT 路由器。

我想将静态地址保留在 ip addr 顺序中,因此我尝试在其他 Dnsmasq 选项中使用 dhcp-host,而不是进入 DHCP 服务器/静态租约,DD-WRT 静态 DHCP 文档建议这是可能的 - 但它是令人困惑,并且它在无法 ping Windows 系统的 Linux Mint 19.3 系统上无法正常工作。

发布上述问题后,我使用 DD-WRT 路由器和两台笔记本电脑(一台 Windows 和一台 Linux)设置了一个测试网络。

在阅读论坛和广泛的测试之后,除了 Linux 系统上的 dig 命令输出(更多内容见下文)之外,以下设置似乎可以工作[这是通过将路由器连接到 WAN 来解决的]。

我尝试删除其他 Dnsmasq 选项中的一些设置,但 dnsmasq 将停止工作并且系统无法相互 ping 通。我尝试了一些网站所说的将路由器 IP 地址放入静态 DNS 1,但这不适用于任何设置组合。

测试设置中的 DD-WRT 版本:v3.0-r44715 std (11/03/20)

Network Setup    [updated - see my answers]

Router IP
    Local IP Address        192.168.1.1
    Subnet Mask             255.255.255.0
    Gateway                 0.0.0.0
    Local DNS               0.0.0.0

Network Address Server Settings (DHCP)
    DHCP Type               DHCP Server
    DHCP Server             Enabled  
    Start IP Address        192.168.1.100
    Maximum DHCP Users      75
    Client Lease Expiration 1440min
    Static DNS 1            0.0.0.0   <- updated
    Static DNS 2            0.0.0.0   <- updated
    Static DNS 3            0.0.0.0
    WINS                    0.0.0.0
    Use DNSMasq for DNS     Enabled  
    DHCP-Authoritative      Enabled  

DHCP Server
    Used Domain             LAN & WLAN
    LAN Domain              Mydom
    Add. DHCPd Opts         [none]
    Static Leases           [none]

SmartDNS Resolver
    SmartDNS Resolver       Disabled

Dnsmasq
    Dnsmasq                 Enabled
    Encrypt DNS             Disabled
    Cache DNSSEC data       Disabled
    Val DNS (DNSSEC)        Disabled
    Chk unsign DNS rep      Disabled
    No DNS Rebind           Enabled
    Qry DNS in Strict Order Enabled
    Add Reqr MAC to DNS Qry Disabled
    RFC4039 Rapid Cmt Spt   Disabled
    Maximum Cached Entries  1500

Additional Dnsmasq Option
    domain=mydom
    local=/mydom/
    domain-needed
    bogus-priv
    expand-hosts
    dhcp-option=3,192.168.1.1
    dhcp-option=6,192.168.1.1,1.1.1.1,1.0.0.1   <- updated
    dhcp-host=B8:32:E3:AA:EA:5F,C9:F7:33:64:80:39,Winder,192.168.1.100
    dhcp-host=F4:B7:E2:25:5D:F9,Linuxer,192.168.1.130

通过上述设置,Windows 和 Linux 系统可以通过 IP 地址和名称相互 ping 通。 Nslookup 在 Windows 上看起来很正常 - 但 Linux dig 命令得到的答复是“拒绝”。我不知道该怎么办,也不知道它有多重要。

$ dig

; <<>> DiG 9.11.3-1ubuntu1.17-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 41574
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.              IN  NS

;; Query time: 1 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Jun 01 14:35:00 PDT 2022
;; MSG SIZE  rcvd: 28

答案1

发布我的答案后发现,如果路由器断开连接或在没有 WAN 连接的情况下启动,则会返回 ping by ip 和名称问题。解决方法是将静态 DNS 1 和 2 设置移至 dhcp-option=6 设置中,如下所示:

Static DNS 1            0.0.0.0
Static DNS 2            0.0.0.0
   
dhcp-option=6,192.168.1.1,1.1.1.1,1.0.0.1

根据我在 Linux VM 服务器中使用 dnsmasq 的经验,这是有道理的。在 Linux 中,DHCP 服务器永远不会启动,dnsmasq 提供 dhcp 和本地 dns 服务。但在 DD-WRT 中,dnsmasq 似乎与 DHCP 服务绑定在一起。 DD-WRT.com 上有一些文档建议可以禁用 dhcp 服务,只使用 dnsmasq 进行 dhcp 和本地 dns 服务,但在我的测试中从未起作用。

这是我的测试中的最佳设置,它已被纳入我的生产 LAN DD-WRT 路由器中,并且与 dnsmasq 的 Linux VM 服务器一样工作。

我将更新原始问题发布以反映这些更改。

答案2

我认为dig可能会出现问题,但将测试网络连接到 WAN 后,现在看起来一切正常。

现在,DD-WRT 上的 dnsmasq 可以像在 Linux VM 中一样正常工作。

答案3

运行了几天之后,突然就失控了。 LAN 客户端彼此失去连接。 Ping 会挂起。我必须关闭路由器上的 DHCP 和 dnsmasq 并启动 VM dnsmasq 服务器。

我不知道该去哪里。通过将 dnsmasq 改造为 DD-WRT,它可能无法在具有 Windows 和 Linux 客户端的生产 LAN 中使用。

相关内容