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

在Linux中,iptables和firewalld两种防火墙如何使用?

在Linux中,iptablesfirewalld是两种常用的防火墙工具,它们用于配置和管理系统的网络流量。它们都提供了对数据包的过滤、转发和网络地址转换(NAT)等功能。

1. iptables

iptables是Linux内核的防火墙组件,它提供了一个命令行界面来设置数据包过滤规则。iptables使用表(tables)和链(chains)来定义规则,每种表对应不同的网络层和功能。

基本使用

  1. 查看规则

    sudo iptables -L -n -v
    
  2. 添加规则
    例如,允许所有22端口(SSH)的流量:

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  3. 删除规则
    删除特定的规则(假设规则编号为1):

    sudo iptables -D INPUT 1
    
  4. 保存规则
    iptables的规则是临时的,需要保存才能在系统重启后保持。不同的发行版有不同的保存方法。在Debian基础上的系统,可以使用:

    sudo iptables-save > /etc/iptables/rules.v4
    

    在Red Hat基础上的系统,可以使用:

    sudo service iptables save
    
  5. 恢复默认规则
    清空所有规则并加载默认策略:

    sudo iptables -F
    sudo iptables -X
    
2. firewalld

firewalld是一个动态管理防火墙的守护进程,它提供了一个更易于使用的界面,支持即时添加和删除规则。firewalld使用区域(zones)和服务(services)的概念来管理规则。

基本使用

  1. 启动和停止服务

    sudo systemctl start firewalld
    sudo systemctl stop firewalld
    
  2. 查看默认区域和规则

    sudo firewall-cmd --get-default-zone
    sudo firewall-cmd --list-all
    
  3. 添加规则
    允许所有22端口(SSH)的流量:

    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
    
  4. 删除规则
    删除特定的规则(假设端口为22):

    sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent
    
  5. 重新加载规则
    应用更改:

    sudo firewall-cmd --reload
    
  6. 启用或禁用服务
    允许HTTP服务:

    sudo firewall-cmd --zone=public --add-service=http --permanent
    

    禁用FTP服务:

    sudo firewall-cmd --zone=public --remove-service=ftp --permanent
    
3. 注意事项
  • iptablesfirewalld可以同时存在于一个系统上,但通常建议只使用其中一个,以避免规则冲突。
  • iptables更适合熟悉命令行和需要精细控制的用户。
  • firewalld提供了更友好的用户界面,适合需要快速配置和管理防火墙的用户。
  • 在修改防火墙规则时,务必确保新的规则不会影响系统的安全性和网络的可用性。
  • 保存规则后,确保测试新规则以验证其正确性和系统的功能。

综上所述,通过使用iptablesfirewalld,你可以有效地管理Linux系统的网络安全,控制进出系统的网络流量,保护系统免受未授权访问和网络攻击。

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