每当我的客户需要进行某些更改时,我就被要求管理几个网络服务器。
我想要做的就是暂时限制自己HTTP
,HTTPS
同时在测试期间所有其他连接都对所有人开放。
他们没有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