iptables 和 OpenVPN 配置

iptables 和 OpenVPN 配置

我有以下iptables规则:

-A INPUT -i eth0 -p udp -m udp --dport 1194 -m state --state NEW -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A INPUT -j DROP
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o tun+ -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 1194 -j ACCEPT

我和他们有问题。如果有-m state --state NEW- 则我无法连接到 OpenVPN。如果我将其中的第一条规则更改为:

-A INPUT -i eth0 -p udp -m udp --dport 1194 -j ACCEPT

我可以自由连接和使用OpenVPN。

为什么-m state --state NEW作品会这样呢?

答案1

状态扩展区分连接的以下状态:NEWESTABLISHEDRELATEDINVALID以及其他三个很少使用的状态。NEW通俗地说,只有当服务器和客户端没有以任何方式进行通信时,数据包才存在。此后,数据包通常属于一个ESTABLISHED连接或属于RELATED一个连接。

这意味着您需要接受带有状态ESTABLISHED和 的数据包RELATED。目前,仅接受第一个数据包,后面的数据包将被静默丢弃。使用以下方法修复您的设置:

iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

相关内容