防火墙:防范网络攻击
Linux中的防火墙分类
CentOS5、CentOS => 防火墙 => iptables防火墙
CentOS7 =>防火墙 =>firewalld防火墙
firewalld:fire wall daemon
1、firewalld防火墙
①区域
firewalld增加了区域(zone)的概念,所谓区域是指,firewalld预先准备了几套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。
常见区域及相应策略规则(规则:哪些端口或服务可以通过防火墙,哪些不能通过)
friewalld增加了区域(zone)的概念,所谓区域是指,firewalld预先准备了几套防火墙策略的集合,类似于策略的模板,用户可以根据需求选择区域。
常见区域及相应策略规则(规则:哪些端口或服务可以通过防火墙,那些不能通过)
②运行模式和永久模式
运行模式:此模式下,配置的防火墙策略立即生效,但是不写入配置文件
永久模式:此模式下,配置的防火墙策略写入配置文件,但是需要reload重新加载才能生效。
firewalld默认采用运行模式
2、防火墙的设置
①防火墙的启动、停止以及查看运行状态
查看运行状态
#systemctl status firewalld
停止防火墙
#systemctl stop firewalld
启动防火墙
systemctl start firewalld
②防火墙重启与重载操作
重启操作
#systemctl restart firewalld
restart = stop + start ,重启首先停止服务,然后再重新启动服务
重载操作
#systemctl reload firewalld
我们对防火墙的配置文件做个更改(永久模式),需要使用reload进行重载让其立即生效
reload并没有对停止正在运行的防火墙服务,只是在服务的基础上变换了防火墙改规则
③把防火墙设置为开机启动与开机不启动
开机启动
systemctl enable firewalld
开机不启动
systenctl disable firewalld
⑥firewalld防火墙规则
firewalld管理工具
基本语法:
firewall -cmd [选项1] [选项2] []
查看防火墙默认的区域(zone)
firewall -cmd --get-default-zone
查看支持所有支持的区域(zones)
firewall-cmd -get-zones
为什么要有区域的概念:其实不同的区域就是不同的规则
查看当前那区域的规则设置
firewall-cmd --list-all
查看所有区域的规则设置
firewall-cmd --list-all-zones
③添加允许通过的服务或端口(重点)
通过服务的名称添加规则
firewall-cmd --zone=public -add-service=服务的名称
备注:服务必须存储在/usr/lib/firewalld/service目录中
案例:把http服务添加到防火墙的规则中,允许通过防火墙
firewall-cmd --zone=public -add-service=http
把http服务从防火墙规则中移除,不允许其通过防火墙
firewall-cmd --zone=public --remove-service=http
firewall-cmd --list-all
通过服务的端口号添加规则
firewall-cmd --zone=public -add-port=端口号/tcp
案例:把80/tcp添加到防火墙规则中,允许通过防火墙
#ss -naltp |grep httpd
httpd :::80
#允许80端口通过firewalld防火墙
#firewall-cmd -zone=public -add-port=80/tcp
从firewalld防火墙中把80端口的规则移除掉
firewall-cmd --zone=public --remove-port=80/tcp
永久模式permanent
在Linux的新版防火墙firewalld中,其模式一共分为两大类:运行模式(临时模式)+ 永久模式。
运行模式:不会把规则保存到防火墙的配置文件中,设置完成后立即生效
永久模式:会把规则写入到防火墙的配置文件中,但是其需要reload重载后才会立即生效
# 根据服务名称添加规则(永久)
firewall-cmd --zone=public --add-service=服务名称 --permanent
firewall-cmd --reload
# 根据端口号添加规则(永久)
firewall-cmd --zone=public --add-port=服务占用的端口号 --permanent
firewall-cmd --reload
案例:把80端口添加到firewalld防火墙规则中,要求永久生效
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all