V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hanssx
V2EX  ›  DNS

怎么让 Windows 的备用 DNS 生效

  •  
  •   hanssx · 2022-09-29 16:34:53 +08:00 · 4321 次点击
    这是一个创建于 821 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PVE 虚拟化 2 台电脑 Win+Linux ,把 Linux 作为 VPN Client ,同时在 Linux 开启 ipv4 forward 和 snat ,Win 通过route add添加一条静态路由,目前通过 ping+tcpdump 测试,ip 层已经走通。

    路由器 192.168.0.1 ,使用得是硬路由,刷的 openwrt 。

    但是 DNS 侧出现了问题,Win 解析不了相关内网域名比如wiki.corp.com,我在 VPN Client Linux 中查看 /etc/resolv.conf 里面多了一些内网 ip ,猜测应该是 vpn 推送过来的 dns ip (后面通过在 win 上 nslookup 指定 dns 的方式解析内网域名发现能够成功,证实确实是内网 dns ip ),于是我尝试把这 2 条 dns ip 添加到 Win 的 ipv4 网卡设置里面。

    由于 win 已经有一条首选 dns 指向路由器 192.168.0.1 ,后面我又通过高级选项添加了 2 个备选 10.4.x 10.5.x ,结果它没有使用备选 dns ?

    xiaopo@DESKTOP-XXX C:\Users\xiaopow
    # nslookup www.baidu.com
    服务器:  QWRT.lan
    Address:  192.168.0.1
    
    非权威应答:
    名称:    www.a.shifen.com
    Addresses:  110.242.68.3
              110.242.68.4
    Aliases:  www.baidu.com
    
    
    xiaopo@DESKTOP-XXX C:\Users\xiaopow
    # nslookup wiki.corp.com
    服务器:  QWRT.lan
    Address:  192.168.0.1
    
    *** 没有 wiki.corp.com 可以使用的 internal type for both IPv4 and IPv6 Addresses (A+AAAA)记录
    

    后面我把首选设置为 10.4.x ,然后 IPv6 的问题又来了。我之前已经参考https://zhuanlan.zhihu.com/p/508790082改了注册表,使之优先使用 IPv4 dns ,nslookup 竟然显示路由器的 IPv6 ,索性我现在直接取消了网卡 IPv6 前面的勾

    xiaopo@DESKTOP-XXX C:\Users\xiaopow
    # nslookup wiki.corp.com
    服务器:  QWRT.lan
    Address:  fd22:xxxx:yyyy::1
    
    *** 没有 wiki.corp.com 可以使用的 internal type for both IPv4 and IPv6 Addresses (A+AAAA)记录
    

    期间我以“没有 wiki.corp.com 可以使用的 internal type for both IPv4 and IPv6 Addresses (A+AAAA)记录”作为条件去搜索相关资料,说是要关闭 openwrt dns 的重绑定保护,我尝试关闭没有效果,依然出现这样的文字。

    目前想访问内网,只能是 IPv4 DNS 设置内网 DNS IP 10.4.x 为首选 DNS ,并关闭 IPv6 协议栈。 但是我想把路由器作为首选 DNS ,内网 DNS IP 10.4.x 为备选,IPv6 能开启最好,实在开启不了就算了。

    13 条回复    2022-10-05 22:50:33 +08:00
    PMR
        1
    PMR  
       2022-09-29 17:06:46 +08:00 via Android   ❤️ 1
    192 。168 。0 。1

    uci add_list dhcp.@dnsmasq[0].server="/corp.com/10.4.1.1"
    uci commit dhcp
    /etc/init.d/dnsmasq restart
    gearfox
        2
    gearfox  
       2022-09-29 17:07:11 +08:00
    绕这么一大圈,直接 openwrt 里自建 dns ,指定好内网的 ip 和域名,是不是就好了?
    hanssx
        3
    hanssx  
    OP
       2022-09-29 17:13:21 +08:00
    Windows 这备用 DNS 是个摆设吗?主 DNS 都 timeout 了,也不知道切换?
    ```
    xiaopo@DESKTOP-XXX C:\Users\xiaopow
    # nslookup www.baidu.com
    DNS request timed out.
    timeout was 2 seconds.
    服务器: UnKnown
    Address: 10.4.X.Y

    DNS request timed out.
    timeout was 2 seconds.
    DNS request timed out.
    timeout was 2 seconds.
    DNS request timed out.
    timeout was 2 seconds.
    DNS request timed out.
    timeout was 2 seconds.
    *** 请求 UnKnown 超时
    ```
    wwqgtxx
        4
    wwqgtxx  
       2022-09-29 17:21:25 +08:00   ❤️ 1
    @hanssx #3 对 nslookup 这个命令的确不生效,你用 ping 测试一下会发现主 DNS 完全不可用的情况下是可以正常 fallback 到备用 DNS 解析出 IP 的
    hanssx
        5
    hanssx  
    OP
       2022-09-29 17:28:20 +08:00
    @PMR 这个也是添加对应关系吧
    @gearfox 这种添加对应关系的太费劲了,要维护一个列表
    @wwqgtxx 确实,实际上是能解析到的。

    如果在路由器添加上游 DNS 服务器,这是不是还要给路由器加 route 到 VPN Client ,https://github.com/pymumu/smartdns/issues/562
    om2mo
        6
    om2mo  
       2022-09-29 18:07:09 +08:00
    nslookup 仅作用于住 DNS 服务器,你可以切换到 dig
    eason1874
        7
    eason1874  
       2022-09-29 18:12:35 +08:00
    干脆在 Linux 开个 DNS 服务,比如 adguard home 或者 dnscrypt proxy ,然后把 Windows 的 DNS 指向 Linux 好了
    hanssx
        8
    hanssx  
    OP
       2022-09-29 21:32:39 +08:00
    搜了下,1L 是做 DNS 转发“ 将请求转发到的 DNS 服务器列表”,不知道有没有解决能自动“切换”的目的,这种情况还需要给 openwrt 加路由到 VPN Client ,加完之后发现路由通了,但是设置没成功,后面换到上游去了,目前使用正常。
    @eason1874 7L 也是一种思路,但是需要 linux 长期开机。。。
    hanssx
        9
    hanssx  
    OP
       2022-09-30 12:12:51 +08:00
    更新一下,1L 兄弟的 DNS 转发也是可以的,同样也需要把“重绑定保护”前面的勾去掉。
    hahaha777
        10
    hahaha777  
       2022-09-30 13:33:45 +08:00
    只有在第一个配置挂了的时候,才会找备用的。如果没有挂,只是单纯的查询不到结果,它是不会走第二个的。
    hanssx
        11
    hanssx  
    OP
       2022-09-30 13:58:09 +08:00
    @hahaha777 是的,和我理解的不一样。。
    Opportunity
        12
    Opportunity  
       2022-10-05 22:49:24 +08:00
    这两天也在试图研究 win 的 DNS ,结果看到这个被吓退了。。

    https://learn.microsoft.com/zh-cn/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd197552(v=ws.10)

    DNS Processes and Interactions
    项目
    2013/03/04
    70 分钟可看完
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1412 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:22 · PVG 01:22 · LAX 09:22 · JFK 12:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.