![IPTables 端口范围](https://linux22.com/image/582490/IPTables%20%E7%AB%AF%E5%8F%A3%E8%8C%83%E5%9B%B4.png)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20000:25000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20004 -j ACCEPT
这是我在 iptables 中制定的两条规则,试图打开 20000:25000 之间的所有端口,当我意识到第一个规则不起作用时,我只尝试了单个端口,但仍然没有打开,这些端口正在用于 Minecraft,因此在打开 iptables 的情况下我无法连接到服务器,在关闭它们的情况下,我可以毫无问题地连接到 Minecraft 服务器。
是的,我每次都重新启动我的 iptables,而且我在 CentOS 上。
答案1
据我所知,CentOS 使用预定义的防火墙规则集,因此您要么需要适应它,要么至少尝试将这些规则插入列表的最开始(iptables -I INPUT 1
)
答案2
您还需要允许以下流量:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这对于允许流量作为回复返回非常重要。否则,连接可以完全建立。当然,这是假设的默认DROP
策略INPUT
。