系列文章目录
RHCSA_4、磁盘管理和文件系统
RHCSA_5、逻辑卷管理
RHCSA_6、SELinux管理
Linux防火墙介绍
Linux防火墙工作在网络层,主要实现对数据包的过滤和限制,属于典型的包过滤防火墙。
在RHEL6中,可以使用iptables命令工具对netfilter进行管理控制;在RHEL7之后,系统默认使用firewalld工具对netfilter进行管理控制,同时也支持使用iptables。
firewalld区域
firewalld默认提供了九个zone(区域):work drop internal external trusted home dmz public block
默认处于激活状态并且在使用的区域是public zone
firewall-cmd --get-zones # 查看有哪些区域
--get-default-zone #查看当前默认区域
--get-active-zones #查看当前正在使用的区域
firewalld管理配置
查看规则
firewall-cmd --list-all #查看默认区域和活动区域的所有策略
firewall-cmd --list-services #查看默认区域允许哪些服务
firewall-cmd --list-ports #查看默认区域允许哪些端口
firewall-cmd --list-all-zones #查看所有区域的默认规则
规则配置
firewall-cmd --add-service=SERVICE_NAME 将服务添加到默认区域,即放行该服务
--add-port=PORT/tcp 放行指定的TCP端口
--panic-on 紧急模式,拒绝所有的包
--panic-off 取消紧急模式
--add-icmp-block=echo-request 阻塞ICMP的echo-request报文默认允许所有的ICMP数据包
--add-forward-port=port=88:proto=tcp:toport=80 本地端口转发将所有访问本机88端口的数据包转发至80端口
规则清除
firewall-cmd --remove-port=80/tcp
--remove-service=mysql
--remove-source=192.168.10.0/24
规则生效时间
默认情况添加的规则都是临时规则,会立即生效,firewalld重启或规则重新载入,临时规则会清除。
添加永久规则需要重新载入配置。
--permanent 规则永久生效
--timeout 规则超时时间
--reload 重新载入配置
例:#firewall-cmd --add-service=http --permanent ----永久有效,但是不立即生效
#firewall-cmd --reload ----重载生效(不建议使用,会导致其它临时规则失效)
富规则/自定义规则
rich rule自定义的防火墙规则,可以定义更加具体丰富的规则
添加富规则:#firewall-cmd --add-rich-rule= 'rule [source] [destination] service | port | protocol | forward-port [accept | drop | reject]'
1.拒绝所有来自192.168.10.0/24流量
#firewall-cmd --add-rich-rule 'rule family=ipv4 source adderss=192.168.10.0/24 reject'
2.拒绝192.168.10.254 ssh连接
#firewall-cmd --add-rich-rule ' rule family=ipv4 source address=192.168.10.254 service name=ssh reject'
NTP服务器(chrony)
配置chrony 服务端,先同步到阿里云ntp服务器,再对局域网内的其它服务器提供ntp服务
yum install -y chrony #----安装 chrony 客户端
[root@client ~]# vim /etc/chrony.conf ----修改配置文件
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server ntp1.aliyun.com iburst #----指定ntp服务器为 ntp1.aliyun.com
# Record the rate at which the system clock gains/losses time.
[root@client ~]# chronyc sources ----同步时钟(^* 为同步成功)
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 120.25.115.20 2 6 321 127 +163us[+1428us] +/- 11ms
对局域网内的其它服务器提供ntp服务
[root@client ~]# vim /etc/chrony.conf ----修改配置文件
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
allow 192.168.152.0/24 #----对该网段服务器提供ntp服务(需其它客户端指定ntp服务器地址为该服务器地址)
# Serve time even if not synchronized to a time source.
#local stratum 10
crontab 定时任务调度
每个用户都有自己的crontab配置文件,使用crontab -e命令进行编辑。保存后系统会自动存放与/var/spool/cron/目录中,文件以用户名命名。
linux的crontab服务每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的内容。
crontab相关命令
crontab -e # 编辑当前用户的定时任务列表
crontab -l # 查看当前用户的定时任务列表
crontab -r # 删除当前用户的定时任务列表
配置文件/etc/crontab 内容
前面5个*号的意义:
-
minute:表示分钟,可以是从0到59之间的任何整数。
-
hour:表示小时,可以是从0到23之间的任何整数。
-
day:表示日期,可以是从1到31之间的任何整数。
-
month:表示月份,可以是从1到12之间的任何整数。
-
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
-
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
每一个星号部分可用下面的特殊符号:
- 星号(*):通配符匹配,代表所有可能的值。
- 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。
- 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”。
- 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
crontab的配置文件
-
cron.daily是每天执行一次的job
-
cron.weekly是每个星期执行一次的job
-
cron.monthly是每月执行一次的job
-
cron.hourly是每个小时执行一次的job
-
cron.d是系统自动定期需要做的任务
-
crontab是设定定时任务执行文件
-
cron.deny文件就是用于控制不让哪些用户使用Crontab的功能
时间定时示例
00 05 * * * : 每天凌晨5点执行
20 12 1,10,20 * * : 每个月的1号,10号,20号的12:30执行
10 1 * * 6,0 : 表示每周六、周日的1:10分执行
0,30 18-23 * * * : 每天18:00至23:00之间每隔30分钟执行
0 23-7/1 * * * : 晚上11点到早上7点之间,每隔一小时执行
0 6-12/3 * 10 * : 每年10月的每天早上6点到12点每隔3个小时执行一次
30 17 * * 1-5 : 周一到周五下午5点30分执行一次
0 */2 * * * : 每两个小时执行一次