![如何允许我的 vpn 客户端访问远程 LAN(eth1)?](https://linux22.com/image/1040300/%E5%A6%82%E4%BD%95%E5%85%81%E8%AE%B8%E6%88%91%E7%9A%84%20vpn%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AE%BF%E9%97%AE%E8%BF%9C%E7%A8%8B%20LAN%EF%BC%88eth1%EF%BC%89%EF%BC%9F.png)
我的 ubuntu 服务器有两个 if:eth0, eth1
。
eth0: Public IP
eth1: 192.168.0.2
我已经eth0
使用 pptpd 配置了 vpn 服务器。
是vpn ip_range
192.168.100.234-248
#/etc/pptpd.conf
logwtmp
bcrelay eth2
localip 192.168.100.1
remoteip 192.168.100.234-238,192.168.100.245
现在从我的客户端可以连接到 vpn 服务器并获取192.168.100.234
地址。
但是我无法访问 192.168.0.2/24 LAN 网络中的任何内容。
我已尝试设置iptables -A FORWARD -j ACCEPT
并进行-t nat
设置。
但好像没什么效果。
如何正确完成这项工作?
多谢。
这是我的服务器和客户端的相关信息https://gist.github.com/4635571
答案1
我找到了解决方案并进行了测试。它确实有效。
我的 ubuntu 服务器有两个网络接口:eth1 - wan eth2 - lan 192.168.0.2
并且VPN服务使用192.168.100.1作为其地址。
VPN 客户端将获取一个来自 192.168.100.234-238 的地址。
以下命令让 VPN 客户端访问服务器 LAN 后面的其他客户端。例如 192.168.0.100
使用 iptables 设置 nat。
# ubuntu vpn server
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 192.168.0.0/24 -j MASQUERADE
客户端手动添加路线。
# mac os x client
sudo route add 192.168.0.0/24 192.168.100.1