Linux防火墙——firewalld防火墙

每日分享:
必须从过去的错误学习教训而非依赖过去的成功。



一、firewalld介绍

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4、IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式:
    • 运行时配置
    • 永久配置

二、firewalld与iptables的区别

1、

  • iptables主要是基于接口,来设置规则,从而判断网络的安全性。
  • firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。

2、

  • iptables在**/etc/ sysconfig/iptables**中储存配置

  • firewalld将配置储存在/etc/firewalld/ ( 优先加载)和/usr/lib/ firewalld/ ( 默认的配置文件)中的各种XML文件里。

3、

  • 使用iptables每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则。

  • 使用firewalld却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld可以在运行时间内,改变设置而不丢失现行连接。

4、

  • iptables防火墙类型为静态防火墙

  • firewalld防火墙类型为动态防火墙


三、firewalld区域

1、概念

firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表。

2、firewalld防火墙9个区域

  • trusted(信任区域):允许所有的传入流量。

  • public(公共区域):允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。

  • external(外部区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。 默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为 路由器启用了伪装功能的外部网络。

  • home(家庭区域):允许与ssh、ipp-client、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。

  • internal(内部区域):默认值时与home区域相同。

  • work(工作区域):允许与 ssh、ipp-client、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。

  • dmz(隔离区域也称为非军事区域):允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。

  • block(限制区域):拒绝所有传入流量。

  • drop(丢弃区域):丢弃所有传入流量,并且不产生包含ICMP的错误响应。

3、firewalld网络区域

3.1、区域介绍

  • 区域如同进入主机的安全门,每个区域都具有不通过限制的规则

  • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口

  • 默认情况下,public区域是默认区域,包含所有接口(网卡)

3.2、firewalld数据处理流程

  • 检查数据来源的源地址

    • 若源地址关联到特定的区域,则执行该区域所指定的规则

    • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则

    • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

<

### 宝塔面板 Linux 防火墙配置教程 #### 一、安装并启动 `firewalld` 或其他防火墙服务 在 Linux 系统上,通常会使用 `firewalld` 来管理系统的防火墙规则。如果尚未安装此工具,则可以通过以下命令进行安装: 对于 CentOS/RHEL 系统: ```bash yum install firewalld systemd -y systemctl start firewalld systemctl enable firewalld ``` 对于 Ubuntu/Debian 系统: ```bash apt update && apt install ufw -y ufw enable ``` 这些操作可以确保基础的系统级防火墙已经启用[^2]。 --- #### 二、进入宝塔面板的安全设置界面 1. 登录到您的宝塔面板地址,默认端口为 **8888**。 2. 进入左侧菜单栏中的“安全”选项卡,在这里您可以查看当前已有的防火墙规则以及添加新的规则[^3]。 --- #### 三、开放特定端口供外部访问 为了使某些应用程序能够被外界访问,您需要手动开放对应的端口。例如,如果您运行了一个 Web 应用程序(默认 HTTP 使用的是 80 和 HTTPS 是 443),则需执行以下步骤: 1. 在宝塔面板中点击“添加放行端口”按钮; 2. 输入要开放的具体端口号或者范围(如:80,443); 3. 添加备注说明以便日后维护方便识别该条目用途; 4. 提交保存即可生效。 另外也可以直接通过 SSH 终端来实现相同效果,比如针对 `firewalld` 的情况下可运行下面这条指令: ```bash firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload ``` 这一步同样适用于未集成图形化界面的小型 VPS 上的操作需求[^4]。 --- #### 四、关闭或调整现有防火墙策略 当不再需要某项防护措施时,可以选择将其移除掉。具体方法如下所示: - 找到目标记录位置后单击旁边的删除链接; - 对话框确认无误后再按提示继续下去直到彻底清除为止; 当然重新激活的过程也十分简单——只需回到刚才提到过的那个地方填写好必要的字段再提交就可以了! 需要注意的是,“宝塔网站防火墙”本身还提供了更多高级特性支持,像 IP 黑白名单管理等功能都可以在这里找到入口去定制属于自己的防御体系结构。 --- #### 五、注意事项 尽管上述指导涵盖了大部分常见场景下的处理方式,但在实际部署过程中仍可能存在一些特殊情况要考虑清楚才行。比如说是否启用了 CDN 加速服务之类的因素都会影响最终呈现出来的结果表现形式等等…… 因此建议大家根据自己项目的实际情况灵活运用以上知识点来进行合理规划安排吧~ ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值