您的位置:首页 >如何用iptables阻止恶意IP
发布于2026-04-24 阅读(0)
扫一扫,手机访问

说到服务器安全防护,利用iptables来屏蔽恶意IP地址,可以说是运维工程师的一项基本功。这活儿干起来其实并不复杂,关键是把步骤走对、把规则配稳。下面,咱们就按顺序把整个流程捋一遍。
动手之前,第一步当然是得先找准目标。哪些IP地址在搞小动作?通常,答案就藏在系统日志(比如/var/log/auth.log或/var/log/secure)、实时的网络流量监控工具,或者现有的防火墙告警信息里。把这些“不速之客”的地址准确地揪出来,是后续所有操作的基础。
目标锁定后,接下来就是动用iptables这把“手术刀”进行精准拦截了。根据不同的场景,有以下几种常用的命令格式。
对付单个捣乱的IP,命令非常直接。这条规则的意思是:将所有从该IP发来的、试图进入(INPUT链)的数据包,统统丢弃(DROP)。
sudo iptables -A INPUT -s <恶意IP地址> -j DROP
举个例子,如果要封禁192.168.1.100,就这么写:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
有时候,恶意IP可能是一个连续的地址段。这时候,用iprange模块就方便多了。
sudo iptables -A INPUT -m iprange --src-range <起始IP>-<结束IP> -j DROP
比如,需要屏蔽从192.168.1.100到192.168.1.105这整个段:
sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.105 -j DROP
如果需要一次性封禁多个不连续的IP,可以在一条规则里叠加多个-s参数。当然,更常见的做法是为每个IP写一条独立规则,这样管理起来更清晰。
sudo iptables -A INPUT -s -s -s -j DROP
例如,同时阻止192.168.1.100、192.168.1.101和192.168.1.102:
sudo iptables -A INPUT -s 192.168.1.100 -s 192.168.1.101 -s 192.168.1.102 -j DROP
这里有个至关重要的提醒:通过命令行添加的iptables规则是临时生效的,一旦服务器重启,所有心血都会付诸东流。所以,规则配置好后,务必记得保存。不同Linux发行版的保存方法略有不同:
推荐将当前规则导出到特定配置文件中:
sudo iptables-sa ve > /etc/iptables/rules.v4
对于使用传统SysVinit的系统,可以直接保存服务:
sudo service iptables sa ve
而对于使用Systemd的新版系统,则需要启用并启动iptables服务,以确保规则持久化:
sudo systemctl enable iptables
sudo systemctl start iptables
规则添加并保存了,怎么确认它真的在起作用呢?用下面这个命令查看一下就好了。仔细检查输出列表,确保你刚才添加的拦截规则已经赫然在列。
sudo iptables -L -v -n
掌握了核心步骤,再把下面这几条经验之谈做到位,你的防护工作就更稳妥了:
sudo iptables-sa ve > /etc/iptables/rules.v4.bak好了,整个流程就是这样。从识别、拦截到保存、验证,每一步都踩实了,你就能用iptables构筑起一道有效的IP级防线,让那些恶意访问知难而退。
上一篇:deluser命令示例解析
下一篇:FileZilla如何使用防火墙
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9