我可以强制 OpenVPN 客户端使用自定义 DNS 服务器,而不强制流量重定向吗?

我可以强制 OpenVPN 客户端使用自定义 DNS 服务器,而不强制流量重定向吗?

我配置了一个 OpenVPN 服务器,让用户可以远程访问公司内部资源。由于此 VPN 的主要目的是不是更改/隐藏用户的 IP 地址,但提供对其他设备的访问,我没有为客户端配置强制流量重定向,因此它不会更改其机器上的默认网络接口。

通过此配置,是否可以强制客户端(主要是 Windows,但也包括 Linux)在连接到 OpenVPN 服务器时更改默认 DNS 服务器,以便我可以为内部资源提供更人性化的域名?我的 DNS 服务器可能与 OpenVPN 在同一台 VM 上运行,因此自定义 DNS 地址将类似于10.8.0.1

我可以让客户端运行一个脚本,将必要的条目添加到主机文件中,但我希望有一个更好、更自动化的解决方案,可以集中管理。

需要注意的是,我不想通过 VPN 重定向所有客户端的流量,因为这可能会使服务器过载。我只想使用自定义域名公开内部资源。

例如,如果用户http://git_server/在其浏览器中打开,则应解析为10.8.0.64

答案1

由于您的 DNS 服务器的 IP 地址为 10.8.0.1,此选项可以解决您的问题。

push "dhcp-option DNS 10.8.0.1"

但由于这是与 OpenVPN 相同的虚拟机,因此正确答案可能位于您的

server ip.ip.ip.ip mask.mask.mask.mask

指令。因此,建议另一台机器配备 DNS 服务器。此外,不要忘记将路由推送到您的 DNS 服务器子网或 IP 地址。

push "route 10.8.0.0 255.255.255.0"

答案2

在您的服务器配置文件(/etc/openvpn/server.conf)中尝试以下选项:

push "dhcp-option DOMAIN your_domain.com"
push "dhcp-option ADAPTER_DOMAIN_SUFFIX your_domain.com"
push "dhcp-option DNS 10.8.0.1"

前两个确保您的域(而不是您的客户的 ISP 指定的域)是非 FQDN 的搜索域。

最后向客户端提供您的 DNS 服务器。

相关内容