iptables 绝对是网站运维里使用频率很高的一个指令了,至少明月目前是会经常的用到的,但是其复杂的参数还是让人使用起来很不“顺手”,我每次使用都得先网上查询一番具体的参数才可以,今天就分享一个有关 iptables 指令屏蔽 IP 以及解封 IP 指令参数的详细解读,以便更好的掌握 iptables 指令。
Linux 服务器,使用 iptables 来维护 IP 规则表。屏蔽或解封指定 IP,其实就是在 IP 规则表中对入站部分的规则进行添加操作。由于 IP 攻击分为散列 IP 攻击和 IP 段攻击,所以 iptables 屏蔽指定 IP 的语法略有区别,分别如下:
用 iptables 屏蔽单个 IP 命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
解释:
I 是 insert 的缩写,是插入的意思。
input 是输入,也即入站的意思。
(…)是指定的 IP。
drop 是放弃链接的意思。
整句命令的意思就是:当入站 IP 为…时,服务器放弃链接。
开放 80 端口
iptables -I INPUT -p tcp –dport 80 -j ACCEPT
用 iptables 解禁 IP 命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
只需把“I(Insert,插入)”改为“D(Delete,删除)”即可。
用 iptables 屏蔽整个 IP 段命令:
iptables -I INPUT -s 121.0.0.0/8 -j DROP
限定一个 IP 或者 IP 端访问指定端口
iptables -A INPUT -p tcp -s 192.168.2.5 –dport 8684 -j ACCEPT
这个在有内网 IP 的使用需求的时候很有用,可以有效的提升内网 IP 上相应端口的服务(比如: memcached 、Redis 等等)的安全性。