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 能开启最好,实在开启不了就算了。
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 |
2
gearfox 2022-09-29 17:07:11 +08:00
绕这么一大圈,直接 openwrt 里自建 dns ,指定好内网的 ip 和域名,是不是就好了?
|
3
hanssx OP 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 超时 ``` |
4
wwqgtxx 2022-09-29 17:21:25 +08:00 1
@hanssx #3 对 nslookup 这个命令的确不生效,你用 ping 测试一下会发现主 DNS 完全不可用的情况下是可以正常 fallback 到备用 DNS 解析出 IP 的
|
5
hanssx OP @PMR 这个也是添加对应关系吧
@gearfox 这种添加对应关系的太费劲了,要维护一个列表 @wwqgtxx 确实,实际上是能解析到的。 如果在路由器添加上游 DNS 服务器,这是不是还要给路由器加 route 到 VPN Client ,https://github.com/pymumu/smartdns/issues/562 |
6
om2mo 2022-09-29 18:07:09 +08:00
nslookup 仅作用于住 DNS 服务器,你可以切换到 dig
|
7
eason1874 2022-09-29 18:12:35 +08:00
干脆在 Linux 开个 DNS 服务,比如 adguard home 或者 dnscrypt proxy ,然后把 Windows 的 DNS 指向 Linux 好了
|
8
hanssx OP 搜了下,1L 是做 DNS 转发“ 将请求转发到的 DNS 服务器列表”,不知道有没有解决能自动“切换”的目的,这种情况还需要给 openwrt 加路由到 VPN Client ,加完之后发现路由通了,但是设置没成功,后面换到上游去了,目前使用正常。
@eason1874 7L 也是一种思路,但是需要 linux 长期开机。。。 |
9
hanssx OP 更新一下,1L 兄弟的 DNS 转发也是可以的,同样也需要把“重绑定保护”前面的勾去掉。
|
10
hahaha777 2022-09-30 13:33:45 +08:00
只有在第一个配置挂了的时候,才会找备用的。如果没有挂,只是单纯的查询不到结果,它是不会走第二个的。
|
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 分钟可看完 |