我在网络内的一台名为无线信号系统我希望能够通过我的 WAN 地址(使用主机头)以及我的网络内部访问它们。除了运行 Web 服务器之外,WSS 还运行 DNS 服务和 OpenVPN 服务器。
例如,我有一个名为http://lights.foobar.com,然后我使用 DNS 提供商的 API 来更新灯、其他子域名和 foobar.com 指向我的 WAN IP 地址。
我的路由器 (172.16.0.1) 根据 MAC 地址为每台机器分配保留的 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>