我在 Ubuntu 服务器 14.04 中安装了 VPN,其 IP 为 192.168.20.5
我使用链接安装:http://grantcurell.com/2014/07/22/setting-up-a-vpn-server-on-ubuntu-14-04/。
但我做的一点小改动是客户端是 Windows 10 机器。所以我使用了 Securepoint SSL VPN。
我可以在连接已建立时收到消息。IP:10.8.0.6
但是我无法从我的 Windows 机器 ping 192.168.20.5。请帮我解决这个问题。
提前致谢。
答案1
首先我要说的是,这个答案是基于官方 OpenVPN 客户端的经验,而不是 Securepoint 的经验。
OpenVPN 服务器路由设置在您的服务器内部创建一个虚拟 TUN 接口:这意味着您有两个独立且彼此几乎未知的接口(物理192.168.20.5
接口和虚拟接口)。10.0.8.1
要让这两个接口互相了解并开始通信,您需要启用内核的 ip_forward 功能。您可以sysctl -w net.ipv4.ip_forward=1
在基于 Debian 的发行版上以 root 身份使用命令启用 IP 数据包转发;此更改不是永久性的(即,它会在关机时丢失)。
了解更多关于 Linux IP 路由/转发的信息,请阅读此问题
启用 IP 转发后,您应该能够从客户端自动 ping 服务器(只要 iptables 的 filter-FORWARD 策略是 ACCEPT)。
通常这足以使隧道正常工作,但这取决于您的实际配置:例如,您可能需要将路由推送给客户端,以让他们知道他们可以通过您的隧道到达网络。(更多信息请点击此处在“扩大 VPN 的范围以包含客户端或服务器子网上的其他机器”段落中。
请注意,您可能无法从服务器 ping 通您的 Windows 客户端(而您可以从 Windows 客户端 ping 通您的服务器),即使您可以成功地从服务器 ping 通 *nix 客户端(已使用 Linux 和 Android 机器测试)。
还要记住,即使您的机器显示为两个不同的 IP 地址,它仍然是同一台机器,因此如果服务正在监听所有接口(0.0.0.0),则您可以通过两个地址访问该服务。