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

在Linux中,如何配置防火墙?

在Linux中,配置防火墙通常涉及到两个常用的工具:iptablesfirewalld。这两个工具都可以用来设置防火墙规则,但它们的工作方式和配置方法有所不同。

1. 使用iptables配置防火墙

iptables是一个命令行工具,它提供了丰富的功能来控制进出系统的网络流量。

  1. 查看当前规则

    sudo iptables -L -n
    
  2. 允许特定服务
    允许HTTP和HTTPS服务通过防火墙:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  3. 允许来自特定IP的流量
    允许来自IP地址1.2.3.4的所有流量:

    sudo iptables -A INPUT -s 1.2.3.4 -j ACCEPT
    
  4. 拒绝特定服务
    拒绝所有外部的SSH连接:

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
  5. 保存规则
    保存当前的iptables规则:

    sudo iptables-save > /etc/iptables/rules.v4
    
  6. 重启iptables服务
    重启iptables服务以应用更改:

    sudo systemctl restart iptables
    
2. 使用firewalld配置防火墙

firewalldiptables的前端管理工具,它提供了一个动态防火墙管理界面。

  1. 查看状态
    查看firewalld服务的状态:

    sudo firewall-cmd --state
    
  2. 查看所有开放的端口

    sudo firewall-cmd --list-ports
    
  3. 允许特定端口
    允许端口80(HTTP)的流量:

    sudo firewall-cmd --add-port=80/tcp --permanent
    
  4. 拒绝特定端口
    拒绝端口8080(可以是任何其他端口)的流量:

    sudo firewall-cmd --add-rich-rule='rule family="ipv4" port port=8080 protocol=tcp drop' --permanent
    
  5. 允许来自特定IP的流量
    允许来自IP地址1.2.3.4的所有流量:

    sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address=1.2.3.4 accept' --permanent
    
  6. 重新加载防火墙规则
    重新加载firewalld以应用更改:

    sudo firewall-cmd --reload
    
  7. 禁用防火墙
    如果你需要临时禁用防火墙,可以使用:

    sudo firewall-cmd --runtime-to=0
    
3. 注意事项
  • 在配置防火墙规则时,请确保你有足够的权限。
  • 在修改防火墙规则之前,确保你了解每条规则的影响,以避免意外地锁定自己或使服务不可用。
  • 定期审查防火墙规则,确保它们符合安全策略。
  • 在生产环境中,建议在维护时间窗口内进行防火墙配置更改,并确保有回滚计划。

综上所述,通过使用iptablesfirewalld,你可以控制进出Linux系统的网络流量,从而提高系统的安全性。

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