我正在为 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 客户端.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.