OpenVPN的iptables和一个tun接口

对于使用tun设备的openvpn隧道,iptables规则允许封装的stream量通过,封装后什么规则控制数据包? 基本上,我想知道操作顺序如何与iptables和openvpn一起工作,以及这如何与链条相关。

明文stream量将进出tunX设备; 你可能会发现iptables的-i tun+-o tun+选项,它们匹配任何tun接口,在处理这个接口时非常有用。

在您的以太网接口上,encryption的stream量将是端口1194上的UDP / TCP,或者按照您的指定。 将stream量过滤到服务器时,不要忘记允许OpenVPNencryption的数据包。

至于链,encryption的stream量进入被认为是在openvpn服务器终止,所以这是INPUT链; encryptionstream量离开被认为是源于服务器,所以这是OUTPUT链。 在内部networking和tunX接口之间传输的tunX是FORWARD链的责任。

对于来自隧道的stream量,您只需要设置FORWARD规则以允许从tun接口到eth接口的stream量。 如下面的规则允许从tun0到特定范围的RDP访问。

-A FORWARD -i tun0 -p tcp –dport 3389 -d 192.168.0.0/24 -j ACCEPT

在转发规则之后,如果在eth接口上有一个已经build立/相关的规则,它将允许stream量通过。