Tôi đang lưu trữ một số trang web trong mạng của mình trên một máy chủ có tên WSS và tôi muốn có thể truy cập chúng thông qua địa chỉ WAN của tôi (sử dụng các tiêu đề máy chủ) cũng như trong mạng của tôi. Ngoài việc chạy máy chủ web, WSS còn chạy dịch vụ DNS và máy chủ OpenVPN.
Ví dụ: tôi có một trang web được gọi là http://light.foobar.com và tôi sử dụng API nhà cung cấp DNS của mình để cập nhật đèn , các tên miền phụ khác và foobar.com để trỏ đến địa chỉ IP WAN của tôi.
Bộ định tuyến của tôi (172.16.0.1) chỉ định các địa chỉ DHCP dành riêng dựa trên địa chỉ MAC cho mọi máy và WSS luôn được gán 172.16.0.6. Bộ định tuyến cũng cung cấp cho khách hàng địa chỉ máy chủ DNS của 172.16.0.6 (hộp WSS) và 8.8.4.4 . Tôi làm điều này bởi vì tôi muốn các máy khách phía sau bộ định tuyến của mình sử dụng máy chủ DNS trên WSS có các bản ghi tương tự như các thiết lập trong nhà cung cấp DNS bên ngoài của tôi, ngoại trừ tất cả chúng đều trỏ đến 172.16.0.6 . Tôi sử dụng các tiêu đề máy chủ trên IIS để mọi tên miền phụ có thể được khớp với trang web chính xác.
IPconfig / notebook của máy tính xách tay của tôi đang trả về đúng máy chủ DNS theo đúng thứ tự.
Tuy nhiên, khi tôi ping light.foobar.com từ một khách hàng, tôi sẽ luôn nhận được 172.16.0.6, tuy nhiên, sau một máy bên ngoài mạng của tôi kết nối với OpenVPN, bật đèn.foobar.com bắt đầu hiển thị địa chỉ WAN. Vấn đề này vẫn tồn tại ngay cả sau khi máy khách OpenVPN bị ngắt kết nối.
Một nslookup trên máy khách mang lại những điều sau đây:
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>
Tuy nhiên, lệnh tương tự trên máy chủ DNS cho thấy điều này:
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>
Tôi không biết nó có liên quan hay không, nhưng nếu tôi lặp lại cùng một lệnh, giá trị "máy chủ" sẽ chuyển qua từng bản ghi DNS của tôi và bắt đầu lại.
Đây là ipconfig / all cho một trong các máy khách bộ định tuyến của tôi:
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
Đây là tệp cấu hình OpenVPN của máy chủ của tôi:
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
Và đây là cấu hình máy khách của tôi (Lưu ý tôi cho phép cùng một chứng chỉ kết nối nhiều lần)
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>