对于使用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量通过。