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

在Linux中,如何设置防火墙规则?

在Linux中设置防火墙规则是一个涉及安全性和网络管理的重要任务。Linux系统中最常用的两个防火墙工具是iptablesfirewalld。以下是如何使用这两种工具来设置防火墙规则的详细步骤:

1. 使用iptables设置防火墙规则

iptables是一个命令行的防火墙配置工具,它提供了非常灵活的规则设置。

  1. 查看当前规则

    sudo iptables -L -n -v
    
  2. 允许特定端口

    sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT
    
  3. 禁止特定端口

    sudo iptables -A INPUT -p tcp --dport <端口号> -j DROP
    
  4. 允许来自特定IP的流量

    sudo iptables -A INPUT -s <IP地址> -j ACCEPT
    
  5. 禁止来自特定IP的流量

    sudo iptables -A INPUT -s <IP地址> -j DROP
    
  6. 设置默认策略(例如,拒绝所有输入流量):

    sudo iptables -P INPUT DROP
    
  7. 保存iptables规则(需要安装iptables-persistent):

    • 对于基于Debian的系统:

      sudo apt-get install iptables-persistent
      sudo netfilter-persistent save
      
    • 对于基于RPM的系统:

      sudo yum install iptables-services
      sudo systemctl enable iptables
      sudo service iptables save
      
  8. 恢复默认规则

    sudo iptables -F
    
2. 使用firewalld设置防火墙规则

firewalld是一个动态防火墙管理工具,提供了图形界面和命令行界面。

  1. 查看状态

    sudo firewall-cmd --state
    
  2. 查看所有区域的列表

    sudo firewall-cmd --get-active-zones
    
  3. 查看区域的服务

    sudo firewall-cmd --list-all
    
  4. 添加服务到区域

    sudo firewall-cmd --zone=public --add-service=http
    
  5. 删除服务从区域

    sudo firewall-cmd --zone=public --remove-service=http
    
  6. 添加端口到区域

    sudo firewall-cmd --zone=public --add-port=80/tcp
    
  7. 删除端口从区域

    sudo firewall-cmd --zone=public --remove-port=80/tcp
    
  8. 设置默认区域

    sudo firewall-cmd --set-default-zone=public
    
  9. 重新加载防火墙规则

    sudo firewall-cmd --reload
    
  10. 查看帮助

    sudo firewall-cmd --help
    
3. 注意事项:
  • 在更改防火墙规则时,务必谨慎,错误的配置可能导致无法访问系统。
  • 通常需要root权限或使用sudo来执行防火墙命令。
  • 考虑使用持久化选项(如--permanent)来保存你的更改,这样在重启后规则仍然有效。
  • 在生产环境中更改防火墙规则之前,务必进行充分的测试。

综上所述,你可以使用iptablesfirewalld在Linux中设置防火墙规则,控制进出你的系统的网络流量。

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