CentOS 防火墙
时间:2019/6/6 15:11:10 环境:
CentOS 7
参考:
man firewalldman 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。allunicast单播broadcast广播multicast组播 andoff-
紧急选项(打开之后拒绝接收所有数据包)。
管理防火请进出规则-简要配置#
注:不指定区域的情况下,规则都定义在默认区域上,如果需要指定区域则在命令中添加 --zone=zone_name 即可。
-
开放端口。
-
开放服务。
-
开放协议。
管理防火墙进出规则-详细配置#
注:不指定区域的情况下,规则都定义在默认区域上,如果需要指定区域则在命令中添加 --zone=zone_name 即可。
-
允许指定IP的所有流量。
-
允许指定IP、通过指定协议的所有流量。
-
允许指定IP地址、使用指定协议,访问指定端口的流量。
-
允许指定IP地址、访问指定服务。
-
允许指定IP段、使用指定协议、访问指定端口的流量。根据子网掩码的长度计算IP段
192.168.0.1 ~ 192.168.0.255 -
禁止访问。