9.linux系统自有服务

9.linux系统自有服务

一、Linux中防火墙firewalld 1.什么是防火墙 防火墙:防范一些网络攻击。有软件防火墙和硬件防火墙 2.防火墙的作用 3.Linux中防火墙分类

一、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)

评论