Я размещаю некоторые веб-сайты в своей сети на сервере с именем WSS, и я хочу иметь возможность доступа к ним через мой WAN-адрес (используя заголовки хоста), а также внутри моей сети. Помимо работы веб-сервера, WSS также запускает службу DNS и сервер OpenVPN.

Например, у меня есть сайт под названием http://lights.foobar.com, и я использую API своего провайдера DNS для обновления источников света, других поддоменов и foobar.com, чтобы они указывали на мой IP-адрес в глобальной сети.

Мой маршрутизатор (172.16.0.1) назначает зарезервированные адреса DHCP на основе MAC-адреса для каждой машины, и WSS всегда назначается 172.16.0.6. Маршрутизатор также дает клиентам адреса DNS-серверов 172.16.0.6 (поле WSS) и 8.8.4.4. Я делаю это, потому что я хочу, чтобы клиенты за моим маршрутизатором использовали DNS-сервер на WSS, записи которого аналогичны тем, которые установлены в моем внешнем DNS-провайдере, за исключением того, что все они указывают на 172.16.0.6. Я использую заголовки узлов в IIS, чтобы каждый поддомен мог быть сопоставлен с нужным веб-сайтом.

Ipconfig /all моего ноутбука возвращает правильные DNS-серверы в правильном порядке.

Когда я пингую lights.foobar.com от клиента, я всегда получаю 172.16.0.6, однако после того, как машина вне моей сети подключается к OpenVPN, при пинге 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>

0