如何设置OpenVPN让VPN客户端访问服务器局域网内的所有服务器?

Iva*_*van 13 vpn openvpn

我的服务器 LAN IP 是 192.168.1.1,并且在 192.168.1.2 上有一个 Intranet Web 服务器 OpenVPN 守护程序配置为为客户端提供 192.168.2.* 地址。

push "route 192.168.1.0 255.255.255.0"我希望配置中有一行允许 VPN 客户端访问整个 192.168.1.0 网络,但它们只能访问 192.168.1.1 - VPN 服务器本身。

我试过启用net.ipv4.ip_forward = 1/etc/sysctl.conf但这没有帮助。

有任何想法吗?

PS:服务器运行 Ubuntu 12.04。
PPS:OpenVPN 在tunUDP 模式下运行。

Fra*_*sen 19

确保 ip 转发已启用

echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)

此外,为了使路由推送工作,内部服务器还需要知道到您的 OpenVPN 客户端 IP 地址的路由。所以他们需要知道到 192.168.2.0/24 的路由

您很可能可以使用以下方法通过伪装使 iptables 进行路由

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

  • 将 sudo 放在命令前面不会向文件添加权限(在 > 之后),因此您需要提升到 root 然后再执行此操作。 (2认同)
  • 或使用`echo 1 | 须藤三通` (2认同)