一、Linux中防火墙firewalld
1.什么是防火墙
防火墙:防范一些网络攻击。有软件防火墙和硬件防火墙
2.防火墙的作用
3.Linux中防火墙分类
centos5 、centos6 => 防火墙 => iptable防火墙
centos7 => 防火墙 => firewalld 防火墙
4.firewalld防火墙
区域类型及特点:
trust: 允许所有流量通过 home/internal: 仅允许特定服务(如samba/mDNS)
work: 仅允许ssh/dhcpv6 public(默认): 仅允许ssh/ipv6
dmz: 仅允许ssh block: 拒绝所有入站流量(返回拒绝响应)
drop: 丢弃所有入站流量(无响应)
重点记忆:
CentOS7默认使用public区域 public区域默认允许ssh连接
其他服务需手动放行
firewalld核心特性
引入区域(zone)概念(如public/trust/drop)
public默认允许ssh通过但屏蔽httpd
防火墙规则验证
httpd服务安装后需关闭防火墙或放行80端口才能访问
临时解决方案:systemctl stop firewalld
企业级应用场景
防火墙可限制流量进出(如禁用QQ/微信)
硬件防火墙成本与功能对比(千兆 vs 万兆)
区域规则对比
trust允许所有流量,drop直接丢弃恶意请求
home与internal规则相似性
服务端口控制
ssh(22)默认放行,httpd(80)需手动配置
端口与服务的映射关系
运行模式和永久模式(默认运行模式)
运行模式:此模式下,防火墙运行策略立即生效,但是不写入配置文件
永久模式:此模式下,防火墙策略写入配置文件,但需要reload重新加载才能生效
5.防火墙的设置
防火墙的启动、停止以及查看运行状态
防火墙设置为开机自启或不启动
开机启动:
设置命令: systemctl enable firewalld (disable为开机不启动)
应用场景: 企业级环境中需要防火墙随系统自动启动
验证方法: 使用systemctl status firewalld查看状态,显示为"enabled"即表示设置成功
6.firewalld防火墙规则
firewalld管理工具
基本语法:# firewall-cmd [选项1]...[选项n]
查看防火墙默认的区域(zone)
命令:firewall-cmd --get-default-zone
查看所有支持的区域(zones)
命令:firewall-cmd --get-zones
区域作用:区域不同规则不同
查看当前区域的规则设置
命令:firewall-cmd --list-all
添加允许通过的服务和端口
①通过服务名称添加规则
firewall-cmd --zone=public --add-service=ftp(服务名称)
移除服务将add换成remove即可
②通过服务端口号添加规则
firewall-cmd --zone=public --add-port=端口号/tcp(增加端口号)
将add换成remove是移除规则
永久模式配置流程(添加永久规则)
配置步骤:
添加规则:firewall-cmd --zone=public --add-port=服务端口--permanent
firewall-cmd --zone=public --add-service=服务名称 --permanent
重载配置:firewall-cmd --reload
验证规则:firewall-cmd --list-all
二、Linux中的计划任务
所谓计划任务就是让操作系统在指定的时间执行指定的任务
1.Linux中的计划任务
基本语法:crontab [选项]
-l:列出已经设置好的计划任务
-e:使用vim编辑器编辑计划任务文件
2.计划任务的编辑
crontab -e进入计划任务编辑文件
计划任务的规则语法格式,以行为单位,一行则为一个单位
基本格式:分时日月周+执行命令 (要求必须使用命令的完整路径,可使用which查看)
时间取值范围
计划任务时间单位:分时日月周,最小单位精确到分钟
分钟取值范围:0−590-590−59(60进制)
小时取值范围:0−230-230−23(24小时制)
日期取值范围:1−31 1-31 1−31(根据月份变化)
月份取值范围:1−12 1-12 1−12
星期取值范围:0−7 0-7 0−7(0和7均代表星期天)
四个符号 :
*:表示取值范围中的每一个数字
-:做连续区间表达式表示1~7天,可写成:1-7
:表示每多少个,如想每十分钟一次可在分的位置写:*/10
, :表示多个取值,如想在1点,2点,6点执行,则可在时的位置写1,2,6
3.案例
例题1:每月1、10、22日的4:45重启network服务
第一步:定制格式
分 时 日 月 周 /usr/bin/systemctl restart network
第二步:定制时间
45 4 1,10,22 * * /usr/bin/systemctl restart network
案例2:每分钟向/root/readme.txt文件追加数字1
使用crontab -e编辑计划任务
写入* * * * * /usr/bin/echo 1>>/root/readme.txt
使用crontab -e编辑计划任务
保存退出(:wq)