OpenVPN 网络共享

OpenVPN 网络共享

几个小时以来,我一直在尝试在两个物理位置(位置 A,192.168.1.0/24)和(位置 B,192.168.2.0/24)之间设置虚拟专用网络。我被迫使用隧道而不是桥接网络。192.168.4.0/24 是 VPN 网络。两个位置之间的连接工作正常,服务器有 192.168.4.1,客户端有 192.168.4.6。但现在我想让服务器访问客户端网络上的服务器,该服务器的地址是 192.168.1.44。

我如何通过路由和 iptable 条目(大概是 NAT 后路由?)实现这一点?

答案1

尝试这个。

在服务器上:

route add -net 192.168.1.0/24 gw 192.168.4.6

在客户端上:

iptables -t nat -I POSTROUTING -s 192.168.4.1 -t 192.168.1.44 -j SNAT --to 192.168.4.1

仅此一点就应该有效。但是,如果你想考虑其他选择,请继续阅读。

如果客户端恰好是 192.168.1.0/24 网络的默认网关,或者您在目标服务器或其默认网关中添加此路由,则您应该能够在没有 iptables 规则的情况下完成此操作:

route add -net 192.168.2.0/24 gw <IP_of_client_on_this_network>

如果您只希望该服务器可访问,您也可以用(等等)替换net 192.168.1.0/24-192.168.1.44但如果您想要进行过滤,您可能应该在服务器和/或客户端上添加单独的过滤规则。

如果您已经在客户端进行过滤(我的意思是如果您有 FORWARD 规则,请参阅iptables -nvL),那么您必须在那里添加另一条规则:

iptables -I FORWARD -i tun+ -s 192.168.4.1 -d 192.168.1.44 -j ACCEPT

编辑:从 POSTROUTING 规则中删除 -i,这是一个错误。

相关内容