firewalld

本文介绍Firewalld的配置方法,包括服务配置、网络域管理、端口管理和用户访问权限等核心内容,并提供了详细的命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做实验之前stop,disable,mask iptables
unmask,start,enable firewalld
firewalld的网络域及默认配置
这里写图片描述

防火墙预定义的服务配置文件是xml文件,目录在/usr/lib/firewalld/services/,在/etc/firewalld/zones/ 这个目录中也有配置文件,但是/etc/firewalld/zones/目录优先于/usr/lib/firewalld/services/目录

/etc/firewalld/zones/public.xml ##public域的火墙策略
可以更改文件来确定public的策略,改完之后需要reload

固定端口模块:
##服务中都会配置
lsmod | grep nf ##显示已载入系统的模块
这里写图片描述
这里写图片描述
这里写图片描述
在主动模式时,客户端会产生大于1024的任意端口,被动模式时,服务端会产生大于1024的任意端口。所以需要使用该模块来固定端口,或者在配置文件
/etc/vsftpd/vsftpd.conf中固定端口。
删除固定模块后端口的更改:
1>配置文件的更改,将端口固定为1025:
这里写图片描述
2>更改/usr/lib/firewalld/service/ftp.xml,将端口设定为1025
这里写图片描述
这里写图片描述
更改成功,客户端可成功登陆!

命令:
firewalld-cmd –status ##火墙状态
firewalld-cmd - -get-default-zones ##显示当前使用的域
firewalld-cmd - -set-default-zones=trusted ##设置默认域
firewalld-cmd - -list-all ##显示火墙策略

firewalld-cmd - -add-service= ##临时添加火墙策略,立即生效
firewalld-cmd - -permanent - -add-service ##永久添加,不reload的话不生效
firewalld-cmd - -reload ##重载

firewalld-cmd - -permanent - -remove-service=
firewalld-cmd - -permanent - -add-port=8080/tcp
firewalld-cmd - -permanent - -remove-port=8080/tcp

ip授信:
firewall-cmd - -permannet - - add-source=IP - -zone=trusted
firewall-cmd - -permanent - -remove-source=IP - -zone=trusted
firewall-cmd - -reload
firewall-cmd - -list-all-zones ##查看所有zones的信息

这些策略在更改后需reload

网络接口
firewalld-cmd - -permanent - -add-interface= - -zone= ##将网络接口添加至某域
firewalld-cmd - -permanent - -remove-interface= - -zone= ##删除某域的某接口

firewall-cmd - -permanent - -remove-interface=eth0 - -zone=public ##将eth0移出public域
firewall-cmd - -permanent - -add-interface=eth0 - -zone=trusted ##添加eth0至trusted域
firewall-cmd - -reload
Systemctl restart firewall
能访问到eth0的用户将被授信
这里写图片描述
这里写图片描述

指定用户访问权限
在修改链的策略时需要借助direct
这里写图片描述
这里写图片描述

指定用户访问权限:
firewall-cmd - -permanent - -direct - -add-rule ipv4 filter INPUT 1 ! -s IP -p tcp|udp - -dport 端口 -j 动作 在删除时将add改为remove
firewall-cmd - -reload
Systemctl restart firewall
查看:
firewall-cmd - - direct - -get-all-rules
设置29为trusted,再添加指定权限

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Rich rules 更高级的设置
这里写图片描述
这里写图片描述

参数描述:
这里写图片描述

NAT:
这里写图片描述
这里写图片描述
这里写图片描述

测试:
SNAT:
这里写图片描述
DNAT:
这里写图片描述

Semanage服务添加端口:
这里写图片描述
Semanage port -l | grep http
1.修改端口
这里写图片描述

2.更改httpd的配置文件端口
这里写图片描述
测试8888端口:
这里写图片描述

### Firewalld与Iptables的关系 Firewalld 和 Iptables 都用于管理 Linux 系统上的网络流量过滤。然而,在 CentOS 7 中,firewalld 成为了默认的动态防火墙守护进程[^2]。这意味着 firewalld 使用 iptables 来设置规则,但提供了更高级别的接口来简化这些操作。 #### 主要区别 - **实时配置**:Firewalld 支持运行时和永久性的更改,允许在网络连接期间调整策略而不重启服务。 - **区域概念**:引入了基于不同信任级别的多个区域(zone),使得定义复杂的访问控制更加直观。 - **命令工具差异**:虽然两者都可以通过命令行进行配置,但是使用的语法有所不同。对于 firewalld 而言,主要使用 `firewall-cmd` 工具来进行交互式管理和脚本化部署[^3]。 ### 如何配置端口转发或开放特定端口 当需要打开一个新的 TCP 或 UDP 端口范围时,可以按照如下方式执行: ```bash # 添加并保存新端口到公共区 firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp # 刷新配置使变更生效 firewall-cmd --reload ``` 验证已添加成功的端口号可以通过下面这条指令完成: ```bash firewall-cmd --zone=public --list-ports ``` 如果之后想要移除之前增加过的端口,则可采取以下措施: ```bash # 移除指定端口映射关系 firewall-cmd --zone=public --remove-port=8080-8081/tcp # 应用最新改动 firewall-cmd --reload ``` 以上过程展示了如何利用 firewalld 的特性轻松实现对入站流量的安全管控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值