10.19 iptables规则备份和恢复
Linux防火墙 -netfilter
保存和备份iptables规则
service iptables save //会把规则保存到 /etc/sysconfig/iptables
把iptables -save>my.ipt
恢复刚才备份的规则
iptables -restore <my.ipt
1.1 一般我们设定的防火墙规则只是保存在内存中,并没有保存到某一个文件中,也就说当系统重启后以前设定的规则就没有了。
1.2 如果我们需要备份规则,就是这个/etc/sysconfig/iptables文件内,这个文件就是iptables的配置文件了,如果你遇到备份防火墙规则的任务,其实就是要拷贝一份这个文件的副本。
1.3将规则备份到别的地方,就用这条命令iptables-save>/etc/iptables.rule
1.4恢复备份的规则iptables-restore</etc/iptables.rule
10.20 firewalld的个zone
Linux防火墙-firewalled
打开firewalld
systemctl disable iptables
systemctl stop iptables
systemctl enable firewalld
systemctl start firewalld
firewalld默认9个zone
默认zone为public
firewalld -cmd --get-zones //查看所有zone
firewalld -cmd-- get--default-zones//查看默认的zone
2.1由于之前我们做实验把firewalld给禁掉了,现在要它恢复过来。
#systemctl disable iptables
2.2firewalld的9个zone
#firewalld -cmd --get-zone
[root@localhost etc]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
默认zone为public
drop(丢弃):任何接受的网络数据包都被丢弃,没有任何恢复,仅能有发送出去的网络连接(数据包不能进来,但是可以出去)
block(限制):任何接受的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。(和drop相比,比较宽松一些,主要是为了针对icmp)
piblic(公共):在公共区域内使用,不能相信网络内其他计算机不会对你造成危害,只能接受经过选取的连接。
external(外部):特别是为路由器启用了伪装功能的外部网,你不能信任来自网络的其他计算,不能相信他们不会对你造成伤害,只能接受经过选择的连接。
dmz(非军事区):用于你的非军事区内的电脑,此区域可公开访问,可以有限的进入你的内部网络,仅仅接受经过选择的连接。
work(工作):用于工作区,你可以基本信任网络内的其他电脑不会对你造成危害,仅仅接收经过选择的连接。
home(家庭):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。
internal(内部):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。
trusted(信任):可接受所有的网络连接。
10.21 firewalld 关于zone的操作
Linux防火墙-firewalld
firewalld-cmd --set-default-zone=work//设定默认zone
firewall-cmd --get-zone-of-interface=ens33//指定网卡
firewall-cmd --zone=public --add-interface=lo //给指定网卡设置zone
firewall -cmd --zone=dmz --remove-interface=lo//针对网卡删除zone
firewall -cmd --zone=dmz -- change-interface=lo针对网卡更改zone
firewall -cmd --get-active-zones//查看系统所有网卡所在的zone
1)设定默认zone(现在默认是public我们给设定为work)
#firewall -cmd --get-default -zone
2)查指定网卡的zone
3)给指定网卡设置zone,这里我们lo是没有zone的我们给它设定为public
4)给指定网卡更改zone或者删除zone
5)查看系统所有网卡的zone
10.22 firewalld关于service的操作
firewall-cmd --get-services查看所有的services
firewall-cmd --list-services //查看当前zone下有哪些services
1)查看所有的services和查看当前的zone下有哪些services
2)将相应的服务加到zone下面去,也可以移除相关服务,在配置文件中加入相关服务
10.23linux任务计划cron
linux任务计划
crontab -u ,-e ,-l ,-r
格式:分 时 日 月 周 user command
文件/var/spool/cron/username
分范围0-59,时范围0-23 ,日范围0-31 ,月范围0-12 .周1-6
可用格式1-5表示一个范围1到5
可用格式1,2,3,表示1或者2或者3
可用格式‘/2表示被2整除的数字,比如小时,那就是每隔2小时
要保证服务是启动状态systemctl start crond.service
我们做为运维工程师有些系统管理工作都是通过定期自动执行某一个脚本来完成的,那么如何定期执行某一个脚本呢?这就要借助linux的cron功能了。
1)关于cron任务计划功能的操作都是通过crontab这个命令来完成的。其中常用的选项有:
-u :指定某个用户,不加-u选项则为当前用户;
-e :制定计划任务;
-l :列出计划任务;
-r :删除计划任务。
2) crontab示例:每周日3点执行 “/bin/sh /usr/local/sbin/backup.sh"
#crontab -l//查看刚开始里面是没有任务计划的
#crontab -e//创建任务计划
#crontab -l//这里就可以看到有了任务计划
3)查看相关用户的任务计划,启动crontab服务
#systemctl status crond.service
10.24 .chkconfig 工具
Linux系统服务管理-chkconfig
chkconfig --list
chkconfig --level3 network off
chkconfig --level 345 network off
chkconfig --del network
chkconfig --add network
1)chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。chkconfig不是立即禁止或者激活一个服务,它只是简单的改变了符号连接。
2)chkconfig --list 列出所有的系统服务
3)chkconfig--level netconsole 3on 设置network在运行级别为3的情况下都是on(开启状态)
4)在chkconfig工具列表中增加和删除相关服务
10.25 systemd管理服务
Linux系统服务管理-systemd
几个常用的服务相关命令:
systemctl enable crond.service//让服务开机启动
systemctl disable crond//不让开机启动
systemctl status crond//查看状态
systemctl stop crond //停止服务
systemctl start crond//启动服务
systemctl restart crond//重启服务
systemctl is-enabled crond//检查范围是否开机启动
1)Systemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器。该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,systemd服务的配置重载,系统开机关机相关的命令。
2)列出所有服务#systemctl list-units --all--type=service
3)systemctl 如何启动,重启,停止,重载服务以及检查服务状态。
# systemctl start crond.service //开启crond服务
# systemctl restart crond.service //重启crond服务
# systemctl stop crond.service //停止crond服务
# systemctl enable crond.service //设置开机启动
# systemctl diable crond.service //禁止开机启动
# systemctl status crond.service //查看服务相关状态
# systemctl is-active mysql.service //检查相关服务是否开机启动
注意:当我们使用systemctl的start,restart,stop和reload命令时,终端不会输出任何内容,只有status命令可以打印输出。
#systemctl status crond.service
10.26 unit介绍
systemd开启和监督整个系统是基于unit的概念。unit是由一个与配置文件名同名的名字和类型组成的(例如:avahi.service unit有一个具有相同名字的配置文件,它是守护进程avahi的一个封装单元)
Linux系统服务管理
/ls /usr/lib/systemctl/system//系统所有的unit.分为以下类型:
service:系统服务
target:多个unit组成的组
device:硬件设备
mount:文件系统挂载点
automount自动挂载点
path:文件或者路径
scope:不是由systemd启动的外部进程
slice:进程组
snapshot systemd:快照
socket:进程间通信套接字
swap :交换swap文件
timer:定时器
2)unit相关的命令
systemctl list-units//列出正在运行的unit
systemctl list-units --all//列出所有,包括失败的或者inactive
systemctl list -units--all--state=inactive//列出inactive的unit
systemctl is-active crond.service//查看某个服务是否为active
1.1 列出系统所有unit
#/ls /usr/lib/systemd/system
1.2列出状态为inactive 的unit,列出状态为active的service
#systemctl list -units --all --state=inactive
10.27target介绍
1)列出系统中所有的target
#systemctl list-unit -files --type=target
2)查看系统默认的target
#systemctl get-default
3)查看哪个服务属于哪个target
直播课堂笔记
https://docs.qq.com/doc/DR2Z4SGhVek5mS2lR
#iptables- A INPUT -P tcp --dport 80 -j ACCEP