centos iptables,将tcp端口限制到特定的ips

我想在我的CentOS 5.8服务器上修改iptables,以便只有特定的ips可以连接到特定端口上的机器。

目前,我在我的iptables文件中有以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT 

如果我只想允许访问ips 1.1.1.1和1.1.1.2,我将如何修改该行? (当我这样做时,它们可能不一定是顺序的)。

你可以用-s标志为每个特定的源IP添加一个匹配,然后禁止所有其他的(如果没有后来的catchall规则为你做最后一点):

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -s 1.1.1.1 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -s 1.1.1.2 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j REJECT 

如果您希望允许的IP可以通过子网分组,则可以稍微简化规则。 例如,如果你想允许1.1.1.2和1.1.1.3,你可以使用

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -s 1.1.1.2/31 -j ACCEPT 

如果需要,再次用毯子REJECT