我曾尝试设置一个小型 openvpn 网络,但遇到了一个大问题。我家里有一台服务器和一台机器。所以我在我的机器上创建了一个 openvpn 服务器,并在另一台机器上配置了客户端。
Ping 和其他任何操作都正常。但现在我正尝试在服务器上设置一个 openvpn 客户端,该客户端连接到自身。服务器使用 tun0,客户端使用 tun1。如果我检查 ifconfig,则所有设置均正确,服务器接口的 IP 为 10.0.0.1,服务器上的客户端为 10.0.0.10。
我的另一台机器(10.0.0.13)只能 ping 通服务实例,而不能 ping 通服务器上的客户端实例。
我为什么要这样做:这个网络应该包含 10-15 台使用 VPN 提供不同服务的机器。当我移动 VPN 服务器时,我必须更改每台机器上的 IP,因为 10.0.0.1 仅适用于服务器。
问题 1:
我可以为服务器实例提供一个额外的 IP 吗,这样我就不必运行单独的客户端了?(服务器的 IP 为 10.0.0.1 和 10.0.0.10)?
问题 2:我可以使用 DNS 来实现这一点吗?所以我只使用查找到的主机名。然后 IP 可以更改。我该怎么做
谢谢你!
答案1
你可以使用轻量级 DNS 服务器域名系统为此。dnsmasq 服务器将在任何连接到 VPN 的机器上运行,并且您将使用 openvpn 推送 DNS 服务器的 IP 地址:
push "dhcp-option DNS 10.0.0.4"
然后,DNS 服务器将通过在您的dnsmasq.conf
文件中配置将主机名解析为 IP 地址:
dhcp-host=01:BD:43:B9:11:AF,10.0.0.4,myserver
不要忘记将这些行添加到您的客户端配置中:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf