详述Linux中Firewalld高级配置
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,IP伪装与端口转发Firewalld支持两种类型的网络地址转换IP地址伪装(masquerade)可以实现局域网多个地址共享单一公网地址上网IP地址伪装仅支持IPv4,不支持IPv6默认externa
千家信息网最后更新 2025年12月02日详述Linux中Firewalld高级配置
IP伪装与端口转发
Firewalld支持两种类型的网络地址转换
IP地址伪装(masquerade)
- 可以实现局域网多个地址共享单一公网地址上网
- IP地址伪装仅支持IPv4,不支持IPv6
- 默认external区域启用地址伪装
- 端口转发(Forward-port)
- 也称为目的地址转换或端口映射
- 通过端口转发,指定IP地址及端口的流量将被转发到相同计算机上的不同端口,或者转发到不同计算机上的端口
地址伪装配置
- 为指定区域增加地址伪装功能
firewall-cmd [--permanent] [--zone= zone] --add-masquerade [--timeout seconds] //--timeout=seconds:在一段时间后自动删除该功能- 为指定区域删除地址伪装功能
firewall-cmd [--permanent] [--zone= zone] --remove-masquerade- 查询指定区域是否开启地址伪装功能
firewall-cmd [--permanent] [--zone=zone] --query-masquerade端口转发配置
- 列出端口转发配置
firewall-cmd [--permanent] [--zone=zone] --list-forward-ports- 添加端口转发规则
firewall-cmd [--permanent] [--zone=zone] --add-forward-port=port=portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr-address[/mask]][--timeout=seconds]- 删除端口转发规则
firewall-cmd [--permanent] [--zone=zone] --remove-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]]- 查询端口转发规则
firewall-cmd [--permanent] [--zone=zone] --query-forward-port-port-portid[-portid]:proto=protocol[:toport-portid[-portid]][:toaddr=address[/mask]]Firewalld直接规则
直接规则(direct interface)
- 允许管理员手动编写的iptables、ip6tables和ebtables 规则插入到Firewalld管理的区域中
- 通过firewall-cmd命令中的--direct选项实现
- 除显示插入方式之外,优先匹配直接规则
自定义规则链
- Firewalld自动为配置"了 规则的区域创建自定义规则链
- IN 区域名 deny: 存放拒绝语句,优先于"IN 区域名 _allow" 的规则
- IN 区域名 allow: 存放允许语句
允许TCP/9000端口的入站流量
irewall-cmd --direct --add-rule ipv4 filter IN work_ allow 0 -p tcp --dport 9000 j ACCEPT- IN work_ allow: 匹配work区域的规则链
- 0:代表规则优先级最高,放置在规则最前面
- 可以增加 --permanent选项表示永久配置
查询所有的直接规则
firewall-cmd --direct --get-all-rulesipv4 filter IN_ work _allow 0 -p tcp --dport 9000 -j ACCEPT- 可以增加 --permanent选项表示查看永久配置
Firewalld富语言规则
富语言(rich language)
- 表达性配置语言,无需了解iptables语法
- 用于表达基本的允许/拒绝规则、配置记录(面向syslog和auditd)、端口转发、伪装和速率限制
rule [family=""] [ source address="" [invert "True"] ] [ destination address="" [invert="True"] ] [ ] [ log [prefix=""] [level=""] [limit value="rate/duration"] ] [ audit ] [ acceptlrejectldrop ] 理解富语言规则命令
- firewall-cmd处理富语言规则的常用选项
| 选项 | 说明 |
|---|---|
| -add-rich-rule= 'RULE' | 向指定区域中添加RULE,如果没有指定区域,则为默认区域 |
| --remove-rich-rule= 'RULE' | 从指定区域中删除RULE,如果没有指定区域,则为默认区域 |
| --query-rich-rule= 'RULE' | 查询RULE是否已添加到指定区域,如果未指定区域,则为默认区域。 规则存在,则返回0,否则返回1 |
| --list-rich-rules | 输出指定区域的所有富规则,如果未指定区域,则为默认区域 |
已配置富语言规则显示方式
- firewall-cmd --list-all
- firewall-cmd --list-all-zones
- --list-rich-rules
富语言规则具体语法
- source、destination、 element、 service、 port、 protocol、icmp-block、masquerade、 forward-port、 log、 audit、acceptlreject|drop
拒绝从192.168.8.101的所有流量
firewall-cmd --permanent --zone=work --add-rich-rule='rule family=ipv4 source address=192.168.8.101/32 reject'- ddress选项使用source或destination时,必须用family= ipv4 | ipv6
接受192.168.1.0/24子网端口范置8000-9000的TCP流量
firewall-cmd --permanent --one=work --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=8000-9000 protocol=tcp accept'丢弃所有icmp包
firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop'接受来自192.168.8.1的http流量,并记录日志
firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.8.1/32 service name="http" log level=notice prefix= "NEW HTTP"limit value "3/s" accept'- 以192.168.8.1访问http,并观察/var/log/messages
Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131LEN=52 TOS=0xOO PREC=0x00 TTL =64 ID=20582 DF PROTO=TCP SPT=65289 DPT=80WINDOW=8192 RES=0x00 SYN URGP=0Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20590 DF PROTO=TCP SPT=65291 DPT=80WINDOW=8192 RES=0x00 SYN URGP=0Apr 16 17:09:55 Server kernel: NEW HTTP IN=ens33 OUT=MAC=00:0c:29:69:01:c4:00:50:56:c0:00:08:08:00 SRC=192.168.8.1 DST=192.168.8.131LEN=52 TOS=0x0O PREC=0x0O TTL =64 ID=20602 DF PROTO=TCP SPT=65292 DPT=80WINDOW=8192 RES=0x00 SYN URGP=0
规则
区域
端口
地址
配置
语言
流量
功能
查询
域名
支持
不同
命令
方式
语句
语法
永久
管理
最高
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全个股异动
gt6 关闭服务器
服务器阵列没了数据可以恢复吗
鄂州订制软件开发多少钱
linux应用服务器
中学校园网络安全检查
软件开发计划要每天吗
南邮数据库技术与应用试卷
上海激光套料软件开发商
网络技术难题
华为无锡软件开发云创新中心概况
电子网络技术就业工资
数据库结构师前景
企业网络安全自查情况报告
微商代理软件开发
软件开发中的原型是什么
数据库数据还原和备份吗
快传网络技术有限公司招聘
小程序云数据库自己赋值id
关于网络技术图片
诺基亚7500软件开发
技嘉服务器泄露下载
陇南市网络安全周
数据库ddos攻击
网络安全专业就业如何
小麦互联网科技刘玉
软件开发框架考核
互联网 人工智能科技革命
数据库设计的典型案例
北京国家网络安全中心招聘