Estou hospedando alguns sites dentro da minha rede em um servidor chamado WSS e quero poder acessá-los através do meu endereço WAN (usando cabeçalhos de host), bem como dentro da minha rede. Além de executar um servidor da Web, o WSS também executa um serviço DNS e um servidor OpenVPN.
Por exemplo, tenho um site chamado link e uso a API do meu provedor de DNS para atualizar luzes , outros subdomínios e foobar.com para apontar para o endereço IP da WAN.
Meu roteador (172.16.0.1) atribui endereços DHCP reservados com base no endereço MAC a cada máquina, e o WSS sempre é atribuído a 172.16.0.6. O roteador também fornece aos clientes endereços de servidores DNS 172.16.0.6 (a caixa WSS) e 8.8.4.4 . Eu faço isso porque quero que os clientes por trás do meu roteador usem o servidor DNS no WSS, que possui registros semelhantes aos definidos no meu provedor de DNS externo, exceto que todos apontam para 172.16.0.6 . Eu uso cabeçalhos de host no IIS para que todos os subdomínios possam ser encontrados no site correto.
O ipconfig / all do meu bloco de anotações está retornando os servidores DNS corretos na ordem correta.
Quando eu faço ping em lights.foobar.com de um cliente, eu sempre devo obter 172.16.0.6, no entanto, após uma máquina fora da minha rede se conecta ao OpenVPN, pingando lights.foobar.com é iniciado mostra o endereço da WAN. Esse problema persiste mesmo depois que o cliente OpenVPN se desconecta.
Um nslookup no cliente gera o seguinte:
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>
No entanto, o mesmo comando no servidor DNS mostra isso:
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>
Eu não sei se é relevante, mas se eu repetir o mesmo comando, o valor "servidor" percorre cada um dos meus registros DNS e começa tudo de novo.
Aqui está o ipconfig / all para um dos meus clientes do roteador:
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
Este é o arquivo de configuração OpenVPN do meu servidor:
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
E aqui está a configuração do meu cliente (note que permito que o mesmo certificado se conecte mais de uma vez)
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>