openvpn:无法pipe理与iptables的客户端到客户端连接

我试过这篇文章: http : //backreference.org/2010/05/02/controlling-client-to-client-connections-in-openvpn/,但没有运气。

我是新来的iptables。 你能看看我的configuration吗?

Docker容器(我使用这个: https : //github.com/kylemanna/docker-openvpn )在主机networking模式下运行

我正在使用禁用了firewalld Centos7,并且安装并启用了iptables

ip_forward已启用。

 #sysctl net.ipv4.ip_forward
 net.ipv4.ip_forward = 1

redirect-gateway def1被closures,因为我不需要路由互联网stream量通过VPN服务器。

这里是最初的iptables规则。

 [root]#iptables -L
连锁input(政策接受)
目标人select源目的地

连锁FORWARD(政策接受)
目标人select源目的地
随时随地都可以使用DOCKER-USER
 DOCKER-ISOLATION随处可见
接受所有 - 在任何地方ctstate RELATED,ESTABLISHED
随时随地都可以
随时随地接受
随时随地接受
接受所有 - 在任何地方ctstate RELATED,ESTABLISHED
随时随地都可以
随时随地接受
随时随地接受

链式输出(策略ACCEPT)
目标人select源目的地

连锁DOCKER(2参考)
目标人select源目的地

 Chain DOCKER-ISOLATION(1参考)
目标人select源目的地
全部放在任何地方
全部放在任何地方
随时随地返回

连锁DOCKER-USER(1参考)
目标人select源目的地
随时随地返回

每个客户端都有一个静态IP的ccd目录下的configuration文件。 以下是我如何为客户端做ifconfig-push 10.8.0.102 10.8.0.1

在我的openvpn.conf我禁用了client-to-client指令。

我有tun0 iface和10.8.0.0/24networking。

首先,我允许已经build立的连接: iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

然后我提出了2个客户可以达到的规则:

 iptables -A FORWARD -s 10.8.0.10 -d 10.8.0.102 -j ACCEPT
 iptables -A FORWARD -s 10.8.0.102 -d 10.8.0.10 -j ACCEPT

毕竟它不工作。 当我从我的MAC(具有IP 10.8.0.10)执行ping 10.8.0.102 ,我得到:

 ➜〜ping 10.8.0.102
 PING 10.8.0.102(10.8.0.102):56个数据字节
来自gwr-vl-201的36个字节****(***。**。**。133):filter禁止的通信
 Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
  4 5 00 5400 29e3 0 0000 3d 01 8749 192.168.1.103 10.8.0.102

192.168.1.103 – 是我的LAN地址

这是我在mac上的路由表:

 ➜〜netstat -nr
路由表

互联网:
目标网关标志参考使用Netif过期
默认192.168.1.1 UGSc 65 0 en0
 10.8.0.1 10.8.0.10 UH 0 0 utun1
 46.101.242.41/32 192.168.1.1 UGSc 0 0 en0
 127 127.0.0.1 UCS 0 0 lo0
 127.0.0.1 127.0.0.1 UH 24 2286 lo0
 169.254链接#4 UCS 0 0 en0
 192.168.1链路#4 UCS 0 0 en0
 192.168.1.1/32链接#4 UCS 2 0 en0
 192.168.1.1 84:16:f9:c5:c4:da UHLWIir 63 26 en0 1043
 192.168.1.103/32链接#4 UCS 0 0 en0
 224.0.0 / 4链接#4 UmCS 1 0 en0
 224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0
 255.255.255.255/32链接#4 UCS 0 0 en0

和我的服务器上的路由表:

 []#route -n
内核IP路由表
目标网关Genmask标志度量参考使用Iface
 0.0.0.0 217.182.88.1 0.0.0.0 UG 100 0 0 eth0
 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
 docker0。172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-44c0269fbf91
 217。**。**。1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
 217。**。**。** 1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0

我错过了什么?

提前致谢!

我终于搞定了!

我所要做的就是将push "route 10.8.0.0 255.255.255.0"到服务器configuration中。

之后,我可以创build任意iptables转发规则(正如我在上面的post中所做的),然后添加

  iptables -A FORWARD -j DROP 

否认一切。