最近折腾 dns 问题

guoguobaba · 2025-2-26 10:15:53 · 107 次点击

首先光猫是路由模式,因为要用 ipv6 ,所以开了 odhcpd 做 ra 模式。光猫-->软路由-->wifi ap-->pc 这样的连接模式。

fgfw 的模式是 dnsmasq-->openclash(redir-host)-->smartdns

dnsmasq 的上游 dns 设置为 openclash 的 127.0.0.1:7847 ,这样 openclash 可以根据域名来分流。

现在发现 dnsmasq+odhcpd 会给客户端分配 ipv6 的 dns (从光猫),dhcp 获得 dns 有时候 v4 在前,有时候 v6 在前。v6 在前,而走 ipv6 的 dns 不会被 openclash 拦截,从而都是根据 ip 来判定分流,有时候就出错。

如何禁止 odhcpd ra 不分配 ipv6 的 dns 呢,问了 gpt 和 ds ,都不靠谱。

另外,软路由里 dhcpv6 是否可以用 server 模式,也能保证 pc 的 ipv6 能被外网访问。

另外,我尝试用 adguardhome 替代 dnsmasq ,但是 adguardhome dhcp 明明分配了 dns ,但是客户端就是获取不到,抓包能看到:

AdGuardHome dhcp 配置如下:dhcp:
  enabled: true
  interface_name: br-lan
  local_domain_name: lan
  dhcpv4:
    gateway_ip: 192.168.10.1
    subnet_mask: 255.255.255.0
    range_start: 192.168.10.110
    range_end: 192.168.10.250
    lease_duration: 86400
    icmp_timeout_msec: 1000
    options: [], 


Adguardhome 的日志如下:2025/02/25 13:08:54.419245 32548#140 [debug] dhcpv4: sending 303 bytes to fe:33:ec:64:54:13: DHCPv4 Message
  opcode: BootReply
  hwtype: Ethernet
  hopcount: 0
  transaction ID: 0x30473afe
  num seconds: 0
  flags: Unicast (0x00)
  client IP: 0.0.0.0
  your IP: 192.168.10.140
  server IP: 0.0.0.0
  gateway IP: 0.0.0.0
  client MAC: fe:33:ec:64:54:13
  server hostname:
  bootfile name:
  options:
    Subnet Mask: ffffff00
    Router: 192.168.10.1
    Domain Name Server: 192.168.10.1, 192.168.10.1
    Host Name: 192-168-10-140
    IP Addresses Lease Time: 24h0m0s
    DHCP Message Type: ACK
    Server Identifier: 192.168.10.1
    Client identifier: [1 254 51 236 100 84 19]
举报· 107 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部