作者信息:https://home.cnblogs.com/u/huangjiabobk

在Linux中,如何使用iptables 写⼀条规则?把来源IP为192.168.1.101访问本机80端口的包直接拒绝.

在Linux中使用iptables来编写一条规则以拒绝特定来源IP访问本机的80端口,你可以遵循以下步骤:

  1. 确定iptables状态
    在开始之前,确保iptables服务正在运行。可以通过以下命令检查状态:

    sudo systemctl status iptables
    

    如果iptables没有运行,你可以使用以下命令启动它:

    sudo systemctl start iptables
    
  2. 添加规则
    使用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 指定任何匹配此规则的数据包都将被丢弃。
  3. 验证规则
    添加规则后,你可以使用iptables -L或更详细的iptables -L -n -v命令来查看规则列表,确认新规则已被添加。

  4. 持久化规则
    默认情况下,iptables规则在重启后会丢失。为了使规则在系统重启后仍然有效,你需要保存规则并将它们加载到iptables的启动脚本中。这可以通过以下命令完成:

    sudo iptables-save > /etc/sysconfig/iptables
    

    或者,如果你的系统使用iptables-persistent或类似的服务,你可能需要运行:

    sudo systemctl restart iptables-persistent
    

综上所述,不同的Linux发行版可能有不同的方法来管理iptables规则的持久性,因此上述命令可能需要根据你的具体环境进行调整。例如,在一些系统上,你可能需要使用iptables-restore命令来恢复保存的规则,或者使用特定的工具如firewalld来管理规则。

posted @ 2024-06-27 17:08  黄嘉波  阅读(9)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波