为什么 OpenVPN 会导致我的内部 DNS 服务器出现问题?

为什么 OpenVPN 会导致我的内部 DNS 服务器出现问题?

我在网络内的一台名为无线信号系统我希望能够通过我的 WAN 地址(使用主机头)以及我的网络内部访问它们。除了运行 Web 服务器之外,WSS 还运行 DNS 服务和 OpenVPN 服务器。

例如,我有一个名为http://lights.foobar.com,然后我使用 DNS 提供商的 API 来更新、其他子域名和 foobar.com 指向我的 WAN IP 地址。

我的路由器 (172.16.0.1) 根据 MA​​C 地址为每台机器分配保留的 DHCP 地址,而 WSS 总是被分配 172.16.0.6。路由器还为客户端提供 DNS 服务器地址172.16.0.6(WSS 框)和8.8.4.4。我这样做是因为我希望路由器后面的客户端使用 WSS 上的 DNS 服务器,该服务器的记录与我的外部 DNS 提供商中设置的记录类似,但它们都指向172.16.0.6。我在 IIS 上使用主机标头,以便每个子域都可以匹配到正确的网站。

我的笔记本的 ipconfig /all 正在按正确的顺序返回正确的 DNS 服务器。

当我从客户端 ping lights.foobar.com 时,我应该总是得到 172.16.0.6,但是,我网络外的一台机器连接到 OpenVPN,ping lights.foobar.com 启动时会显示 WAN 地址。即使 OpenVPN 客户端断开连接后,此问题仍然存在。

客户端上的 nslookup 得到以下结果:

C:\Users\MyClient>nslookup lights.foobar.com 172.16.0.6
DNS request timed out.
    timeout was 2 seconds.
Server:  UnKnown
Address:  172.16.0.6

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.
*** Request to UnKnown timed-out

C:\Users\MyClient>

然而,DNS服务器上的相同命令显示以下内容:

C:\Users\myserver>nslookup lights.foobar.com 172.16.0.6
Server:  lights.foobar.com
Address:  172.16.0.6

Name:    lights.foobar.com
Address:  172.16.0.6

C:\Users\myserver>

我不知道这是否相关,但如果我重复相同的命令,“服务器”值将循环遍历我的每个 DNS 记录并重新开始。

这是我的一个路由器客户端的 ipconfig /all:

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Dell Wireless 1820A 802.11ac
   Physical Address. . . . . . . . . : 54-8C-A0-A3-15-63
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::4829:6960:76c3:2fbd%5(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.16.0.32(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.240.0.0
   Lease Obtained. . . . . . . . . . : Tuesday, August 16, 2016 11:12:16 PM
   Lease Expires . . . . . . . . . . : Wednesday, August 17, 2016 3:12:16 AM
   Default Gateway . . . . . . . . . : 172.16.0.1
   DHCP Server . . . . . . . . . . . : 172.16.0.1
   DHCPv6 IAID . . . . . . . . . . . : 39095456
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1F-36-08-3C-54-8C-A0-A3-15-63
   DNS Servers . . . . . . . . . . . : 172.16.0.6
                                       8.8.4.4
   NetBIOS over Tcpip. . . . . . . . : Enabled

这是我的服务器的 OpenVPN 配置文件:

port 1194
proto tcp
dev tun

ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\wss.crt"
key "C:\\Program Files\\OpenVPN\\config\\wss.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh1024.pem"

server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 172.16.0.6"

client-to-client
duplicate-cn
ifconfig-pool-persist ipp.txt
status openvpn-status.log
keepalive 10 120
cipher BF-CBC
comp-lzo
max-clients 10
persist-key
persist-tun
log openvpn.log
verb 3

这是我的客户端的配置(注意我允许同一个证书连接多次)

client
dev tun
proto tcp
remote foobar.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3

<ca>
-----BEGIN CERTIFICATE-----
(snip)
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
(snip)
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
(snip)
-----END PRIVATE KEY-----
</key>

相关内容