CentOS 防火墙
时间:2019/6/6 15:11:10 环境:
CentOS 7
参考:
man firewalld
man firewall-cmd
- Centos7 防火墙 firewalld 实用操作
- firewalld防火墙详解
CentOS 防火墙管理#
CentOS 7
使用 firewall-cmd
进行防火墙配置管理。防火墙进程是 firewalld
,firewall-cmd
用于在命令管理防火墙的运行时配置(runtime)和永久配置(permanent)。
firewalld
默认出口是全放开的,入口则尽量小的开放。
Zone: 用于表示计算机所处的区域。系统默认使用的是 public
区域,防火墙策略就是定义在区域上的一些流量规则。
区域 | 默认规则 |
---|---|
trusted | 允许所有的数据包进出 |
home | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许进入 |
Internal | 等同于home区域 |
work | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许进入 |
public | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许进入 |
external | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许 |
dmz | 拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许进入 |
block | 拒绝进入的流量,除非与出去的流量相关 |
drop | 拒绝进入的流量,除非与出去的流量相关 |
判断流量属于哪一个区域的过程: 先根据 source
(请求来源地址)判断属于哪一个区域,找不到则使用 Interface
(访问的哪一个网卡) 判断属于哪一个区域,找不到则使用默认区域。然后使用区域的流量过滤规则。
启动或关闭防火墙#
- 打开防火墙 :
systemctl start firewalld
- 停止防火墙 :
systemctl stop firewalld
- 重启防火墙 :
systemctl restart firewalld
防火墙配置和管理 firewall-cmd
#
基础操作#
--state
:查看状态。--version
:查看版本。--list-all
:查看防火墙配置。--permanent
:表示设置永久配置,需要重启防火墙生效。不指定表示设定运行时配置。--reload
: 重新加载规则。--get-zones
:显示可用的区域。--get-services
:显示预定义的服务。--runtime-to-permanent
:把运行时配置转换为永久配置。--get-log-denied
:查看决绝日志级别。--set-log-denied=value
:设置拒绝日志级别,设置之后对应级别的拒绝日志会被记录,默认值off
。all
unicast
单播broadcast
广播multicast
组播 andoff
-
紧急选项(打开之后拒绝接收所有数据包)。
管理防火请进出规则-简要配置#
注:不指定区域的情况下,规则都定义在默认区域上,如果需要指定区域则在命令中添加 --zone=zone_name
即可。
-
开放端口。
-
开放服务。
-
开放协议。
管理防火墙进出规则-详细配置#
注:不指定区域的情况下,规则都定义在默认区域上,如果需要指定区域则在命令中添加 --zone=zone_name
即可。
-
允许指定IP的所有流量。
-
允许指定IP、通过指定协议的所有流量。
-
允许指定IP地址、使用指定协议,访问指定端口的流量。
-
允许指定IP地址、访问指定服务。
-
允许指定IP段、使用指定协议、访问指定端口的流量。根据子网掩码的长度计算IP段
192.168.0.1 ~ 192.168.0.255
-
禁止访问。