在 OpenVPN 中使用靜態金鑰配置時在客戶端設定 DNS 伺服器

在 OpenVPN 中使用靜態金鑰配置時在客戶端設定 DNS 伺服器

我正在為 OpenVPN 使用靜態金鑰配置。但我無法設定 DNS 伺服器。

我的server.conf是:

port 3001
proto udp
dev tun
ifconfig 10.8.1.1 10.8.1.2
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
#user nobody
#group nobody
comp-lzo
daemon
push "redirect-gateway def1 bypass-dhcp"

我的客戶是:

remote ###.###.###.### 3001
proto udp
dev tun
ifconfig 10.8.1.2 10.8.1.1
secret static.key
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
comp-lzo
redirect-gateway def1

如何在客戶端設定 DNS?

答案1

您可以新增一個或多個dns,

在伺服器配置中新增以下行:

push "dhcp-option DNS 8.8.8.8"

或用您自己的 dns 伺服器取代 8.8.8.8,如果您想使用私人或本機 dns 記錄,否則它優先於您的公用 dns,而不是透過 VPN 隧道引導 dns 流量。因為一旦連接,這將影響正常的互聯網訪問。

您可能需要重新考慮

push "redirect-gateway"

由於這會將所有流量重定向到 VPN 隧道,因此您可以僅定向相關子網路而不是此選項。

答案2

您可以透過網路介面 dns 用戶端設定從 OpenVPN 用戶端設定 dns 用戶端。

因此,該過程會根據作業系統的不同而有所不同,並且有可能實現自動化。這是一個針對 Windows 的典型範例這個連結

設定-dns-client.cmd:

netsh interface ip set dns "Local Area Connection" static 1.2.3.4

netsh interface ip add dns "Local Area Connection" 5.6.7.8

這是我所知道的唯一(也是痛苦的)方式。

儘管這有點莫名其妙,但推送選項似乎不適用於靜態鍵的一個背景可能是來自OpenVPN 文件

*Static Key disadvantages*
Limited scalability -- one client, one server

只是推測開發人員遇到了一些障礙,但他們並沒有優先考慮它,當然假設這一發現是正確的。此片段來自靜態金鑰迷你指南似乎支持這樣一個假設:

Static key configurations offer the simplest 
setup, and are ideal for point-to-point VPNs
or proof-of-concept testing.

相關內容