IP 表允许一切,但限制 HTTP 仅针对一个 IP

IP 表允许一切,但限制 HTTP 仅针对一个 IP

每当我的客户需要进行某些更改时,我就被要求管理几个网络服务器。

我想要做的就是暂时限制自己HTTPHTTPS同时在测试期间所有其他连接都对所有人开放。

他们没有iptables管理,但我有 sudo 访问权限。

还有很多其他服务正在运行,我不想中断它们。我也不想断开与 ssh 会话的连接,因为我没有控制台访问权限来恢复它。

如果我只运行这 2 个命令,它是否只会限制HTTP其他HTTPS端口是否正在工作?

iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP
iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

编辑:改变了规则的顺序。

答案1

是的,只有其中的内容才会iptables --list被处理,除非有,否则DROP ALL它允许其他所有内容。

但是如果我们使用,-I (Insert)那么规则的顺序应该是Drop第一位的,这意味着DROP将在最后,而ACCEPT规则将首先被处理。

[root@hostname ~]# iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP            
[root@hostname ~]# iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

现在运行iptables --list

[root@hostname ~]# iptables --list
Chain INPUT (policy ACCEPT)
target     prot    opt    source               destination
ACCEPT     tcp      --    10.1.1.2         anywhere            multiport dports http,https
DROP       tcp      --    anywhere         anywhere            multiport dports http,https

相关内容