OpenVZ:节点 iptables 不附加规则

OpenVZ:节点 iptables 不附加规则

我想在节点内部的 iptables 上制定一组规则,但似乎 iptables 没有附加所有规则,或者不知何故每次我运行以下脚本时都会将我踢出(我在其他服务器中使用这组规则并且运行良好):

# Allow connections that are already connected to your server
iptables -A INPUT -i venet0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow connections to SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# Allowing connections to HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

# Allow icmp input but limit it to 10/sec
iptables -A INPUT -p icmp -m limit --limit 10/second -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

# Allow all incoming traffic from local
iptables -A INPUT -i lo -j ACCEPT

# Changing the default policy for INPUT chain
iptables -A INPUT -j DROP

我发现的问题(我猜)是最后一行(DROP anything)被解释为 1,这就是服务器将我踢出的原因。

我已经更改了 vz 的配置:

IPTABLES_MODULES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state xt_state ip_conntrack"

任何帮助都将不胜感激。

谢谢。

答案1

我发现 OpenVZ 和使用“ESTABLISHED,RELATED”存在更多问题。遗憾的是,我无法找到如何修复 OpenVZ 安装的方法,因为出于某种原因,这些安装不允许在容器中使用有状态 iptables。

但是,有了相当简单的 IPTable 规则,您真的需要它们有状态吗?我认为下面的方法同样有效:

# Allow connections to SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Allowing connections to HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Allow icmp input but limit it to 10/sec
iptables -A INPUT -p icmp -m limit --limit 10/second -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

# Allow all incoming traffic from local
iptables -A INPUT -i lo -j ACCEPT

# Changing the default policy for INPUT chain
iptables -A INPUT -j DROP

相关内容