在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.
在Linux中使用iptables
来编写一条规则以拒绝特定来源IP访问本机的80端口,你可以遵循以下步骤:
-
确定iptables状态:
在开始之前,确保iptables服务正在运行。可以通过以下命令检查状态:sudo systemctl status iptables 如果iptables没有运行,你可以使用以下命令启动它:
sudo systemctl start iptables -
添加规则:
使用iptables
命令添加一条规则到INPUT
链,该链处理进入系统的所有网络数据包。你需要指定协议(TCP),源IP地址(192.168.1.101),以及目标端口(80)。规则如下:sudo iptables -A INPUT -p tcp --source 192.168.1.101 --dport 80 -j DROP 这里解释一下各个选项:
-A INPUT
表示将规则添加到INPUT
链的末尾。-p tcp
指定规则应用于TCP协议。--source 192.168.1.101
指定源IP地址。--dport 80
指定目标端口。-j DROP
指定任何匹配此规则的数据包都将被丢弃。
-
验证规则:
添加规则后,你可以使用iptables -L
或更详细的iptables -L -n -v
命令来查看规则列表,确认新规则已被添加。 -
持久化规则:
默认情况下,iptables规则在重启后会丢失。为了使规则在系统重启后仍然有效,你需要保存规则并将它们加载到iptables的启动脚本中。这可以通过以下命令完成:sudo iptables-save > /etc/sysconfig/iptables 或者,如果你的系统使用
iptables-persistent
或类似的服务,你可能需要运行:sudo systemctl restart iptables-persistent
综上所述,不同的Linux发行版可能有不同的方法来管理iptables规则的持久性,因此上述命令可能需要根据你的具体环境进行调整。例如,在一些系统上,你可能需要使用iptables-restore
命令来恢复保存的规则,或者使用特定的工具如firewalld
来管理规则。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步