Firewall基本概念
Firewall,对iptables的进一步封装,没有链与表的概念,只有区域的概念,比iptables操作简单,但是底层还是调用Iptables。
- 系统服务:firewalld;
- 管理工具:firewall-cmd(命令)、firewall-config(图形化界面)。
Firewall基本区域
Firewall包括四个基本区域,根据所在的网络场所区分,预设保护规则集:
- public,仅允许访问本机的Ssh/Dhcp/Ping等服务;
- trusted,允许任何网络请求访问;
- block,阻塞任何来访请求(明确拒绝,有回应给客户端);
- drop,丢弃任何来访请求(没有回应,节省服务端资源)。
Firewall区域操作
## 列出所有区域;
[root@localhost ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
## 列出当前区域;
[root@localhost ~]# firewall-cmd --get-default-zone
public
## 切换当前区域;
[root@localhost ~]# firewall-cmd --set-default-zone=trusted
success
## 列出当前区域信息;
[root@localhost ~]# firewall-cmd --zone=trusted --list-all
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: ens33
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
## 重新加载防火墙所有配置;
[root@localhost ~]# firewall-cmd --reload
## 添加指定服务允许网络请求;
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service='服务名'
Firewall规则操作
## 查看防火墙端口;
[root@localhost ~]# firewall-cmd --zone=public --list-ports
## 重载防火墙配置;
[root@localhost ~]# firewall-cmd --reload
## 开放端口;
[root@localhost ~]# firewall-cmd --zone=public --add-port=100-500/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
## 限制端口;
[root@localhost ~]# firewall-cmd --zone=public --remove-port=22/tcp --permanent
## 开发IP地址;
[root@localhost ~]# firewall-cmd --permanent --add-source=192.168.1.0/24
## 禁止IP地址;
[root@localhost ~]# firewall-cmd --permanent --add-source=192.168.1.0/24
## 添加复杂规则;
[root@localhost ~]# firewall-cmd --permanent --add-rich-rule="rule family="ipv4