如何在RHEL⼀CentOS 7以及Fedora中配置FirewallD

2025-04-23 16:47:44
推荐回答(1个)
回答1:

以下是我的笔记;可以访问wiki学习更多内容 http://fedoraproject.org/wiki/FirewallD

firewall-cmd 参数
--list -all,-service

--status 状态

--reload 重新加载防火墙配置文件

--get-zones
获取支持的区域列表

--get-service 获取所有支持的服务

--get-icmptype

设置默认区域

--set-defualt-zone=

将接口增加到区域

firewall-cmd
[--zone=zone] --add-interface=

修改接口所属

--change

从区域中删除一个接口

--remove

查询区域中是否包含某个接口

--query

--get-zone-of
--interface=

应急模式:断网

firewall-cmd --panic-on
开启

firewall-cmd --panic-off 关闭

--add-service

--remove-service

==================
firewall常用配置

firewall-cmd --list-services 查看服务 --list-all

1. 写入配置文件,reload加载

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd
--reload
2.不加--permanent, 只能临时生效
firewall-cmd --zone=public --add-service=ftp

====================
例如

firewall-cmd --permanent
--zone=public --add-port=80/tcp

端口映射

firewall-cmd --permanent
--add-forward-port=port=33:proto=tcp:toport=22:toaddr=172.16.7.8

{:toport=[-]} | :toaddr=

|
{:toport=[-]:totoaddr=
}

--zone=? --add-fore

启用区域中的的ip伪装功能

--add-masquerade

====================

将命令传递给防火墙。参数 可以是 iptables, ip6tables 以及 ebtables 命令行参数。

firewall-cmd --direct
--passthrough { ipv4 | ipv6 | eb }

为表 增加一个新链

firewall-cmd --direct --add-chain
{ ipv4 | ipv6 | eb }


从表
中删除链


firewall-cmd --direct
--remove-chain { ipv4 | ipv6 | eb }


查询 链是否存在与表
. 如果是,返回0,否则返回1.

firewall-cmd --direct
--query-chain { ipv4 | ipv6 | eb }


如果启用,此命令将有返回值。此命令没有输出信息。

获取用空格分隔的表
中链的列表。

firewall-cmd --direct
--get-chains { ipv4 | ipv6 | eb }


为表
增加一条参数为 的链 ,优先级设定为

firewall-cmd --direct --add-rule
{ ipv4 | ipv6 | eb }


从表
中删除带参数 的链

firewall-cmd --direct
--remove-rule { ipv4 | ipv6 | eb }


查询 带参数
的链 是否存在表
中. 如果是,返回0,否则返回1.

firewall-cmd --direct
--query-rule { ipv4 | ipv6 | eb }


如果启用,此命令将有返回值。此命令没有输出信息。

获取表
中所有增加到链 的规则,并用换行分隔。

firewall-cmd --direct --get-rules
{ ipv4 | ipv6 | eb }