OpenVPN允许两个客户端相互连接,而无需全局使用客户端到客户端

我在CentOS 6上运行OpenVPN 2.3.7。我正在使用路由(tun)并且有两个OpenVPN实例。 在第二个例子中,我想让两个客户端可见,即ping,访问端口等。它们都在同一个子网内,所以它应该是相当直接的,它们通过静态地址来configurationCCD。

我希望两个客户端能够通过他们的OpenVPN局域网IP地址看到对方,而不client-to-client在server.conf中启用client-to-client

我很确定它可以用iptables来完成,我使用它作为防火墙,虽然我使用CSF,但它是iptables的包装。

这些是客户端的IPv4地址:

 OpenVPN Client #1: 10.8.2.14 OpenVPN Client #2: 10.8.2.17 

我需要客户端#1能够访问客户端2上运行的服务,我想兼容性客户端#2查看客户端#1是否需要响应。

我在OpenVPN服务器上尝试了几个FORWARD链规则,但是我无法获得两个客户端之间的任何通信。 OpenVPN服务器显然可以ping通两个客户端,客户端可以ping通OpenVPN服务器网关,客户端之间看不到明显的对话。

我已经尝试过的一些规则并没有工作:

 iptables -A FORWARD -s 10.8.2.14 -d 10.8.2.17 -j ACCEPT iptables -A FORWARD -s 10.8.2.17 -d 10.8.2.14 -j ACCEPT 

我正在寻找iptables的帮助来让两个客户端可见,而不启用客户端到客户端,看到这是对两个客户端的特殊要求,而不是在其他地方需要。

另一种方法是通过NAT公开VPN客户端上的服务,但是我宁愿避免为了安全而这样做。

任何见解都会有所帮助!

谢谢,

詹姆士

我build议你做相反的事情:启用client-to-client ,然后使用iptables来阻止所有的客户端,但是你想允许他们彼此交谈。

我知道这个问题是旧的,但只是为了澄清,可能仍然是访问此页的新用户:

如果你使用client-to-client你不能真正使用防火墙,服务器甚至不会看到这些数据包,因为他们永远不会从OpenVPN服务器回来,所以,因为他们没有到达主机层,你不会能够使用防火墙,因为它不会被达到,你的规则将是无用的。