Openvpn

通過它的主機名呼叫 openvpn 伺服器

  • February 19, 2019

我使用帶有伺服器和一些客戶端的 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 偵聽。

這些選項執行以下操作:

  1. DNS XXXX – 設置主域名伺服器 IPv4 地址。重複此選項以設置輔助 DNS 伺服器地址。
  2. 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 做出響應。

引用自:https://serverfault.com/questions/954670