防火墙策略管理
基础
系统服务:firewalld
管理工具(6和7存在差异):firewall-com(命令模式),firewall-config(图形界面)
查看防火墙状态:systemctl status firewalld
[root@www file]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2018-06-06 10:35:04 CST; 18min ago
Docs: man:firewalld(1)
Main PID: 799 (firewalld)
CGroup: /system.slice/firewalld.service
└─799 /usr/bin/python -Es /usr/sbin/firewalld --nofork –nopid
………
预设安全区域:
- public:仅允许访问本机的sshd等少数服务(默认区域)
- trusted:允许任何访问
- block:阻塞任何来访请求
- drop:丢弃任何来访的数据包(比block节省资源)
防火墙判断的规则:(匹配即停止)
- 首先查看源ip地址,然后查看所有区域中是否有对该地址的策略,若有则进入该区域
- 如果所有区域都没有,则进入默认区域
命令:
- 查看默认区域:firewall-cmd --get-default-zone
[root@www file]# firewall-cmd --get-default-zone
public
- 查看区域的规则:firewall-cmd --zone=区域名 -–list-all
[root@www file]# firewall-cmd - -zone=public - -list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens34 ens33
sources:
services: ssh dhcpv6-client #允许的服务
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
- 刷新规则:firewall-cmd --reload
- 添加服务:firewall-cmd --zone=区域名 --add-service=服务名(重启即失效)
[root@www file]# firewall-cmd - -zone=public - -add-service=ftp
Success
- 添加服务:firewall-cmd --permanent --zone=区域名 --add-service=服务名(添加到配置文件,添加后需要刷新,删除服务将add换为remove)
[root@www /]# firewall-cmd --permanent --zone=public --add-service=ftp
Success
- 修改默认区域:firewall-cmd --set-default-zone=区域名
- 端口转发: