2018.6.13课堂笔记

iptables规则的保存 备份 恢复

规则保存

编辑完iptables的规则使用命令:

service iptables save

把规则保存在iptables的配置文件里面:/etc/sysconfig/iptables

备份规则

想把此刻的规则备份一下,一般情况是拷贝一个iptables的配置文件,也可以对规则进行备份。可以直接查看备份文件。

iptables-save  >  my.ipt

cat my.ipt

恢复规则

规则修改完发现不能正常通信,想恢复到原来的规则,可以把备份的iptables配置文件进行覆盖,也可以把备份的规则进行恢复。

iptables-restore < my.ipt

 

firewalld介绍

由于centos 7版本以后默认使用firewalld。官方文档如下:

官方文档地址:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld

 firewalld简介

firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念

firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍

firewalld的字符界面管理工具是 firewall-cmd 

firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

zone概念

硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):

drop(丢弃):默认丢弃所有包

block(限制):拒绝所有外部连接,允许内部发起的连接

public(公共):指定外部连接可以进入

external(外部):这个不太明白,功能上和上面相同,允许指定的外部连接

dmz(非军事):和硬件防火墙一样,受限制的公共连接可以进入

work(工作):工作区,概念和workgoup一样,也是指定的外部连接允许

home(家庭):类似家庭组

internal(内部):使用内部网络,信任所有连接。

trusted(信任):可接受所有的网络连接。

安装firewalld:

# yum install firewalld firewall-config

# systemctl enable firewalld

# systemctl start firewalld

运行、停止、禁用firewalld

启动:# systemctl start  firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

重载:#  firewall-cmd --reload

zone 增删查改设

查看全部的zone

# firewall-cmd --get-zones

block dmz drop external home internal public trusted work

 

查看默认的zone

# firewall-cmd --get-default-zone

public

 

修改默认的zone

# firewall-cmd --set-default-zone=work

success

 

指定网卡查询zone

# firewall-cmd --get-zone-of-interface=ens33

work

# firewall-cmd --get-zone-of-interface=ens37

no zone

 

给指定网卡设置zone

# firewall-cmd --zone=public --add-interface=ens37

success

 

给指定网卡修改zone

# firewall-cmd --zone=dmz --change-interface=lo

success

 

给指定网卡删除zone

# firewall-cmd --zone=dmz  --remove-interface=lo

success

# firewall-cmd --get-zone-of-interface=lo      

no zone

 

查看所有网卡所在的zone

# firewall-cmd --get-active-zones                

dmz

interfaces: ens37

work

interfaces: ens33

service 增删查改设

查看所有的service,(其实都是一些服务的名字)

# firewall-cmd  --get-services

 

查看当前zone的service

# firewall-cmd --list-services

ssh dhcpv6-client

 

查看指定zone下的service

# firewall-cmd --zone=public --list-service  

ssh dhcpv6-client

 

把http服务添加指定zone里面

# firewall-cmd --zone=public --add-service=http

success

# firewall-cmd --zone=public --list-service      

ssh dhcpv6-client http

 

把http服务添加指定zone里面,并写入配置文件

# firewall-cmd --zone=public --add-service=http --permanent

success

# cat /etc/firewalld/zones/public.xml

<service name="http"/>

 

删掉指定zone的http服务

# firewall-cmd --zone=public --remove-service=http

success

firewalld 文件

/etc/firewalld/zones/ 是zone类型开头.xml格式文件。还有前面文件.old结尾的文件的备份。例如:

public.xml  public.xml.old。分别保存了现在的文件,和修改之前的备份,用于恢复。

 

/etc/firewalld/services/ 是service类型的文件。

/usr/lib/firewalld/ 里面的 zones 和 services 目录里,分别保存了模板文件。用于手动添加firewalld规则。

crontab命令

crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

 

在Linux系统中,Linux任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

crontab命令的语法为:

crontab  [选项]

 

选项:

e:编辑一个新的计划任务

l:显示计划任务

r:删除计划任务

特殊符号含义:

*星号 :任何时刻都接受的意思,例如0 3 * * * 不管什么日期月份周只要到3点就执行工作

,逗号 :分隔的意思,例如0 3,6 * * * 3点和6点都执行工作

-减号 :代表时间范围,例如0 1-3 * * * 123点都执行工作

/n斜线:n为数字,表示每隔几个单位,例如 */5 * * * *每隔5分钟执行工作一次

 

chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

语法:

chkconfig(选项)

选项:

--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据;
--del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据;
--level<等级代号>:指定读系统服务要在哪一个执行等级中开启或关毕。

查看service的列表信息

chkconfig --list

systemd  

系统服务管理systemd  Control the systemd system and service manager  #控制systemd系统和服务管理
先前的使用SysV初始化或Upstart的红帽企业版Linux版本中,使用位于/etc/rc.d/init.d/目录中的bash初始化脚本进行管理。
在RHEL 7/CentOS 7中,这些启动脚本被服务单元取代了。为了向后兼容,旧的service命令在CentOS 7中仍然可用,它会重定向所有命令到新的systemctl工具。

systemd的特性有:

  • 支持并行化任务
  • 同时采用socket式与D-Bus总线式激活服务;
  • 按需启动守护进程(daemon);
  • 利用Linux的cgroups监视进程;
  • 支持快照和系统恢复;
  • 维护挂载点和自动挂载点;
  • 各服务间基于依赖关系进行精密控制

Systemd可以管理所有系统资源,不同的资源统称为 Unit(单位),Unit可以归为以下几大类:

service:系统服务

target:多个unit组成的组

device:硬件设备

mount:文件系统挂载点

automount:自动挂载点

path:文件或路径

scope:不是由systemd启动的外部进程

slice:进程组

snapshot:systemd快照

socket:进程间的通信的套接字

swap:swap文件

timer:定时器

unit命令:

#systeamctl list-units // 列出正在运行的unit

#systeamctl list-units --all //列出所有的unit

#systeamctl list-units --all --state=inactive //列出所有inactive的unit

#systeamctl list-units --all --type=service//列出所有状态的service

#systeamctl list-units  --type=service//列出状态为active的service

#systeamctl is-active crond.service//查看某个unit是否为active

target类似于centos6中的启动级别,但target支持多个同时启动,target其实是多个unit的组合,系统启动说白了就是启动多个unit,为了管理方便,就使用target来管理这些unit

service、unit、target之间的联系

一个service属于一种unit

多个unit组成了target

一个target里面包含了多个service,你可以查看文件/usr/lib/systemd/system/ssh.service里面的isntall部分的内容,它定义了该service属于那种target.

转载于:https://my.oschina.net/u/3856250/blog/1830651

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值