首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVPN网络共享

OpenVPN网络共享
EN

Server Fault用户
提问于 2011-05-02 11:20:49
回答 1查看 176关注 0票数 2

有几个小时,我已经尝试在两个物理位置(位置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 postrouting)来实现这一点?

EN

回答 1

Server Fault用户

发布于 2011-05-02 11:23:46

尝尝这个。

在服务器上:

代码语言:javascript
复制
route add -net 192.168.1.0/24 gw 192.168.4.6

关于客户:

代码语言:javascript
复制
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规则:

代码语言:javascript
复制
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 (等等)。如果您只想访问该服务器--但如果您想要进行筛选,则可能应该在服务器和/或客户端上添加一个单独的筛选规则。

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

代码语言:javascript
复制
iptables -I FORWARD -i tun+ -s 192.168.4.1 -d 192.168.1.44 -j ACCEPT

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

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/265429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档