带有 iptables 和 tun 接口的 OpenVPN

带有 iptables 和 tun 接口的 OpenVPN

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

答案1

纯文本流量将进出 tunX 设备;您可能会发现与任何 tun 接口匹配的 iptables-i tun+和选项对于处理该问题很有用。-o tun+

加密流量将以 UDP/TCP 形式在端口 1194 上传输,或者以您指定的其他方式在以太网接口上传输。过滤进入服务器的流量时,不要忘记允许 OpenVPN 加密数据包。

至于链,传入的加密流量被视为在 openvpn 服务器上终止,因此这是 INPUT 链;传出的加密流量被视为源自服务器,因此这是 OUTPUT 链。内部网络和接口之间传递的流量由 FORWARD 链tunX负责。

答案2

对于通过隧道的流量,您只需设置 FORWARD 规则以允许从 tun 接口到 eth 接口的流量。例如,以下规则允许从 tun0 到特定范围的 RDP 的访问。

-A 转发 -i tun0 -p tcp --dport 3389 -d 192.168.0.0/24 -j 接受

在转发规则之后,如果您在以太网接口上有一个已建立/相关的规则,它将允许流量返回。

相关内容