CentOS7 Firewall防火墙配置用法详解 下载本文

firewall-cmd --permanent --get-zones

启用区域中的服务

firewall-cmd --permanent [--zone=] --add-service=

此举将永久启用区域中的服务。如果未指定区域,将使用默认区域。 禁用区域中的一种服务

firewall-cmd --permanent [--zone=] --remove-service=

查询区域中的服务是否启用

firewall-cmd --permanent [--zone=] --query-service=

如果服务启用,此命令将有返回值。此命令没有输出信息。 例: 永久启用 home 区域中的 ipp-client 服务

firewall-cmd --permanent --zone=home --add-service=ipp-client

永久启用区域中的一个端口-协议组合

firewall-cmd --permanent [--zone=] --add-port=[-]/

永久禁用区域中的一个端口-协议组合

firewall-cmd --permanent [--zone=] --remove-port=[-]/

查询区域中的端口-协议组合是否永久启用

firewall-cmd --permanent [--zone=] --query-port=[-]/

如果服务启用,此命令将有返回值。此命令没有输出信息。 例: 永久启用 home 区域中的 https (tcp 443) 端口

firewall-cmd --permanent --zone=home --add-port=443/tcp

永久启用区域中的伪装

firewall-cmd --permanent [--zone=] --add-masquerade

此举启用区域的伪装功能。私有网络的地址将被隐藏并映射到一个公有IP。这是地址转换的一种形式,常用于路由。由于内核的限制,伪装功能仅可用于IPv4。 永久禁用区域中的伪装

firewall-cmd --permanent [--zone=] --remove-masquerade

查询区域中的伪装的永久状态

firewall-cmd --permanent [--zone=] --query-masquerade

如果服务启用,此命令将有返回值。此命令没有输出信息。 永久启用区域中的ICMP阻塞

firewall-cmd --permanent [--zone=] --add-icmp-block=

此举将启用选中的 Internet 控制报文协议 (ICMP) 报文进行阻塞。 ICMP 报文可以是请求信息或者创建的应答报文或错误应答报文。 永久禁用区域中的ICMP阻塞

firewall-cmd --permanent [--zone=] --remove-icmp-block=

查询区域中的ICMP永久状态

firewall-cmd --permanent [--zone=] --query-icmp-block=

如果服务启用,此命令将有返回值。此命令没有输出信息。 例: 阻塞公共区域中的响应应答报文:

firewall-cmd --permanent --zone=public --add-icmp-block=echo-reply

在区域中永久启用端口转发或映射

firewall-cmd --permanent [--zone=]

--add-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=

| :toport=[-]:toaddr=
}

端口可以映射到另一台主机的同一端口,也可以是同一主机或另一主机的不同端口。端口号可以是一个单独的端口 或者是端口范围 - 。协议可以为 tcp 或udp 。目标端口可以是端口号 或者是端口范围 - 。目标地址可以是 IPv4 地址。受内核限制,端口转发功能仅可用于IPv4。 永久禁止区域的端口转发或者端口映射

firewall-cmd --permanent [--zone=]

--remove-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=

| :toport=[-]:toaddr=
}

查询区域的端口转发或者端口映射状态

firewall-cmd --permanent [--zone=]

--query-forward-port=port=[-]:proto= { :toport=[-] | :toaddr=

| :toport=[-]:toaddr=
}

如果服务启用,此命令将有返回值。此命令没有输出信息。 例: 将 home 区域的 ssh 服务转发到 127.0.0.2

firewall-cmd --permanent --zone=home

--add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2

直接选项

直接选项主要用于使服务和应用程序能够增加规则。 规则不会被保存,在重新加载或者重启之后必须再次提交。传递的参数 与 iptables, ip6tables 以及 ebtables 一致。

选项–direct需要是直接选项的第一个参数。

将命令传递给防火墙。参数 可以是 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 }

当前的firewalld特性 D-BUS接口

D-BUS 接口提供防火墙状态的信息,使防火墙的启用、停用或查询设置成为可能。 区域

网络或者防火墙区域定义了连接的可信程度。firewalld 提供了几种预定义的区域。区域配置选项和通用配置信息可以在firewall.zone(5)的手册里查到。 服务

服务可以是一系列本读端口、目的以及附加信息,也可以是服务启动时自动增加的防火墙助手模块。预定义服务的使用使启用和禁用对服务的访问变得更加简单。服务配置选项和通用文件信息在 firewalld.service(5) 手册里有描述。 ICMP类型

Internet控制报文协议 (ICMP) 被用以交换报文和互联网协议 (IP) 的错误报文。在 firewalld 中可以使用 ICMP 类型来限制报文交换。 ICMP 类型配置选项和通用文件信息可以参阅 firewalld.icmptype(5) 手册。 直接接口

直接接口主要用于服务或者应用程序增加特定的防火墙规则。这些规则并非永久有效,并且在收到 firewalld 通过 D-Bus 传递的启动、重启、重载信号后需要重新应用。 运行时配置

运行时配置并非永久有效,在重新加载时可以被恢复,而系统或者服务重启、停止时,这些选项将会丢失。 永久配置

永久配置存储在配置文件种,每次机器重启或者服务重启、重新加载时将自动恢复。 托盘小程序

托盘小程序 firewall-applet 为用户显示防火墙状态和存在的问题。它也可以用来配置用户允许修改的设置。 图形化配置工具

firewall daemon 主要的配置工具是 firewall-config 。它支持防火墙的所有特性(除了由服务/应用程序增加规则使用的直接接口)。 管理员也可以用它来改变系统或用户策略。 命令行客户端

firewall-cmd是命令行下提供大部分图形工具配置特性的工具。 对于ebtables的支持

要满足libvirt daemon的全部需求,在内核 netfilter 级上防止 ip*tables 和 ebtables 间访问问题,ebtables 支持是需要的。由于这些命令是访问相同结构的,因而不能同时使用。

/usr/lib/firewalld中的默认/备用配置

该目录包含了由 firewalld 提供的默认以及备用的 ICMP 类型、服务、区域配置。由 firewalld 软件包提供的这些文件不能被修改,即使修改也会随着 firewalld 软件包的更新被重置。 其他的 ICMP 类型、服务、区域配置可以通过软件包或者创建文件的方式提供。

/etc/firewalld中的系统配置设置

存储在此的系统或者用户配置文件可以是系统管理员通过配置接口定制的,也可以是手动定制的。这些文件将重载默认配置文件。