我想修改我的 CentOS 5.8 服务器上的 iptables,以便只有特定的 ip 可以通过特定端口连接到该机器。
目前,我的 iptables 文件中有以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT
例如,如果我只想允许 IP 1.1.1.1 和 1.1.1.2 访问,我该如何修改该行?(当我真正执行此操作时,它们可能不一定是连续的 IP)。
答案1
您可以使用标志为每个特定的源 IP 添加匹配-s
,然后禁止所有其他 IP(如果没有后续的规则为您完成最后一部分):
-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
。