Openvpn
通過它的主機名呼叫 openvpn 伺服器
我使用帶有伺服器和一些客戶端的 openvpn 基礎架構。客戶端可以通過它們的主機名相互呼叫,但不能以相同的方式訪問伺服器。目前可以通過其 IP 地址訪問伺服器。
如何將伺服器名稱和相應的 IP 地址(v4 和 v6)傳輸到客戶端?
如果可能,我不想設置額外的 dns 伺服器
編輯重新閱讀您的問題:
好的,如果沒有 DNS 伺服器,您可以將伺服器的 IP 添加到客戶端的 /etc/hosts 文件中:
172.31.0.1 dns.local
不過,我會推薦 dns 伺服器選項,它很簡單:
在 openvpn 伺服器上安裝 bind 或 dnsmasq 並將以下內容添加到其配置中:
push "dhcp-option DOMAIN yourdomain.local" push "dhcp-option DNS X.X.X.X"
其中 XXXX 是 IP 綁定/dnsmasq 偵聽。
這些選項執行以下操作:
- DNS XXXX – 設置主域名伺服器 IPv4 地址。重複此選項以設置輔助 DNS 伺服器地址。
- DOMAIN yourdomain.local – 設置連接特定的 DNS
如果 DNS 伺服器與 VPN 客戶端不在同一個網路中,您可能需要使用:
push "redirect-private bypass-dns"
這將為跳過 VPN 的 DNS 伺服器創建單獨的路由。
如果您使用的是 Bind,那麼您的 named.conf 將包含:
zone "local" IN { type master; allow-update { none; }; notify no; file "/etc/bind/local.zone"; };
和 local.zone:
$TTL 600 @ IN SOA dns.local. root.local. ( 2018061001 ; serial 12h ; refresh 1h ; retry 2w ; expire 1h ; minimum ) ; NS ns ; Inet Address of name server MX 10 mail.local. ; Primary Mail Exchanger MX 20 mail.local. ; Secondary Mail Exchanger localhost IN A 127.0.0.1 dns IN A 172.31.0.1 ns IN A 172.31.0.1 mail IN A 172.31.0.1 client100 IN A 172.31.0.100 client101 IN A 172.31.0.101
如果您是 Bind 新手,請絕對確保它不會對任何面向 Internet 的 IP 做出響應。