本文最后更新于 2024年5月24日 下午
简介
最近搭建测试 OpenVPN 下发默认路由和dns,发现Windows系统不会使用OpenVPN服务器下发的dns服务器。
查询了一番,抓包看出了问题。
原因
因为本地网卡也配置DNS服务器,默认情况下本地网卡跃点数(metric)会较低,所以会优先使用本地网卡的DNS服务器。
解决
建议修改OpenVPN网卡的跃点数(metric)为1,这样会更优先。
或者将本地网卡的跃点数(metric)改为255,这样本地的优先级会更低。
解决2
在OPNEVPN的客户端文件中加入 block-outside-dns 配置也可以规避此问题。
疑问
为什么原生的VPN 拨号的时候没有这个问题。
系统原生L2TP 拨号的时候,会自动加大其他网卡跃点数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [C:\~]$ netsh interface ipv4 show interface
Idx Met MTU 状态 名称 --- ---------- ---------- ------------ --------------------------- 1 75 4294967295 connected Loopback Pseudo-Interface 1 10 5 65535 disconnected OpenVPN Wintun 22 25 1500 disconnected WLAN 26 25 1500 connected 以太网 7 25 1500 disconnected OpenVPN TAP-Windows6 25 25 1500 disconnected 本地连接* 9 27 1 1400 disconnected OpenVPN Data Channel Offload 18 25 1500 disconnected 本地连接* 10 17 35 1500 connected VMware Network Adapter VMnet1 8 35 1500 connected VMware Network Adapter VMnet8 20 25 1500 connected VirtualBox Host-Only Network 15 65 1500 disconnected 蓝牙网络连接
|
PS:
如果多张网卡配置了dns,且那个dns服务器所在网卡的跃点数越低,则使用那个DNS服务器。(或越快返回)
参考
https://answers.microsoft.com/zh-hans/windows/forum/all/win10%E7%9A%84%E5%8F%8C%E7%BD%91%E5%8D%A1dns/c43191f3-e263-47eb-960c-033f54e10dfb
https://blog.csdn.net/wozlmni1/article/details/117931243
https://www.bilibili.com/read/cv11644693/