第十五课日常运维

10.19 iptables规则备份和恢复

我们在设置防火墙规则的时候,规则只是保存在内存中,并没有保存到某一个文件中。系统重启之后,之前设定的规则就没有了,所以设定好之后要先保存一下,使用命令:

[root@localhost ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]

会看到提示,防火墙规则保存在/etc/sysconfig/iptables文件内,这个文件就是iptables的配置文件。所以如要备份防火墙规则,复制一份这个文件的复本即可。有时候我们需要清楚防火墙规则,使用iptables -F,但是最好的方法是停止防火墙服务:

[root@localhost ~]# service iptables stop

Redirecting to /bin/systemctl stop  iptables.service

[root@localhost ~]# service iptables stop

Redirecting to /bin/systemctl stop  iptables.service

[root@localhost ~]# iptables -nvL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination        

 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination        

 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination

这样防火墙就停止了,并且规则也清除了。但是一旦重新设置规则,防火墙服务回自动重启。那么我们来为防火情重新设置规则,并备份规则:

[root@localhost ~]# sh /usr/local/sbin/iptables.sh     //通过脚本设置规则

[root@localhost ~]# iptables -nvL

Chain INPUT (policy DROP 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination        

    6   428 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

    0     0 ACCEPT     tcp  --  *      *       192.168.204.0/24     0.0.0.0/0            tcp dpt:22

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21

 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

 pkts bytes target     prot opt in     out     source               destination         

 

Chain OUTPUT (policy ACCEPT 4 packets, 528 bytes)

 pkts bytes target     prot opt in     out     source               destination        

[root@zlinux ~]# iptables-save > myipt.rule    //备份规则,重定向到myipt.rule

[root@zlinux ~]# cat myipt.rule                        //打开备份文件

# Generated by iptables-save v1.4.21 on Fri Jan 26 16:19:22 2018

*filter

:INPUT DROP [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [40:4728]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -s 192.168.204.0/24 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

COMMIT

# Completed on Fri Jan 26 16:19:22 2018

如果需要恢复这些规则,使用以下命令:

[root@localhost ~]# iptables-restore < myipt.rule


10.20 firewalld
的9个zone

firewalld默认有9个zone(zone是firewalld的单位)

默认zone为public

drop(丢弃):任何接受的网络数据包都被丢弃,没有任何恢复,仅能有发送出去的网络连接(数据包不能进来,但是可以出去)

block(限制):任何接受的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。(和drop相比,比较宽松一些,主要是为了针对icmp)

piblic(公共):在公共区域内使用,不能相信网络内其他计算机不会对你造成危害,只能接受经过选取的连接。

external(外部):特别是为路由器启用了伪装功能的外部网,你不能信任来自网络的其他计算,不能相信他们不会对你造成伤害,只能接受经过选择的连接。

dmz(非军事区):用于你的非军事区内的电脑,此区域可公开访问,可以有限的进入你的内部网络,仅仅接受经过选择的连接。

work(工作):用于工作区,你可以基本信任网络内的其他电脑不会对你造成危害,仅仅接收经过选择的连接。

home(家庭):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。

internal(内部):用于内部网络,你可以基本上信任网络内其他电脑不会对你造成危害,仅仅接收经过选择的连接。

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

 

[root@localhost ~]# firewall-cmd --get-zones                (查看所有zone的命令,一共有9个zone)

work drop internal external trusted home dmz public block

[root@localhost ~]# firewall-cmd --get-default-zone           (查看默认的zone的命令)

public


10.21 firewalld
关于zone的操作

每个zone就是一套规则集,但是有那么多zone,不知道怎样用、在哪里用也不行,在/usr/lib/iptables/zone,保存着zone的配置文件

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址

2、interface,接收请求的网卡

3、firewalld.conf中配置的默认zone

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个。

[root@localhost ~]# firewall-cmd --get-active-zones        (查看素有网卡所拥有的zone

public 

  interfaces: ens33 ens37

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33            (查看指定网卡的zone

public

 

[root@localhost ~]# firewall-cmd --zone=public --add-interface=lo          (给指定网卡设置zone

success

[root@localhost ~]# firewall-cmd --get-zone-of-interface=lo             

public

 

[root@localhost ~]# firewall-cmd --zone=dmz --change-interface=lo        (给指定网卡更改zone

success

[root@localhost ~]# firewall-cmd --get-zone-of-interface=lo

dmz

 

[root@localhost ~]#  firewall-cmd --zone=dmz  --remove-interface=lo      (指定网卡删除zone,会恢复到默认网卡zone)

success

[root@localhost ~]# firewall-cmd --get-zone-of-interface=lo

no zone

 

没有办法删除网卡的默认zone,如果要更改,可以使用以下命令更改默认zone:

[root@localhost ~]# firewall-cmd --set-default-zone=work 

success

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33

work

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens37

work


10.22 firewalld
关于service的操作

1.  firewall-cmd --get-services         查看系统所有的services

2.  firewall-cmd --list-service      查看当前默认的zone下有哪些service

3.  firewall-cmd --zone=     --list-service     查看指定zone的service

4.firewall-cmd --zone=zonename  --add-service= 服务名    将一个服务添加到一个zone里面

5. --permanent     将更改写入配置文件,不加这个参数只保存在内存中,没有写配置文件   /etc/firewalld/zones/public.xml


10.23 linux
任务计划cron

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

命令选项:

-e:=edit 编辑用户的计时器设置 
-l:=list 列出用户的计时器设置 

-r:=remove 删除用户的计时器设置 

-u:=user 指定设定计时器的用户

10.24 chkconfig工具

chkconfig命令检查、设置系统的各种服务

选项:

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

等级代号列表:

·                     等级0表示:表示关机

·                     等级1表示:单用户模式

·                     等级2表示:无网络连接的多用户命令行模式

·                     等级3表示:有网络连接的多用户命令行模式

·                     等级4表示:不可用

·                     等级5表示:带图形界面的多用户模式

·                     等级6表示:重新启动

命令chkconfig –list列出所有的服务及其每个级别的开启状态。
10.25 systemd管理服务

在centos7使用 Systemd 来管理服务,system:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其他进程,根据管理,字母d是守护进程(daemon)的缩写,systemd这个名字的含义就是它要守护整个系统。

常用命令:

Systemctl enable crond.service //让某个服务开机启动

Systemctl disable crond.service//不让开机启动

Systemctl status crond.service //查看服务状态

Systemctl start crond.service//启动某个服务

Systemctl stop crond.service//停止某个服务

Systemctl restart crond.service//重启某个服务

Systemctl is-enabled crond.service//查看某个服务是否开机启动
10.26 unit介绍

unit表示不同类型的sytemd对象,通过配置文件进行标识和配置,文件中主要包含了系统服务,监听socket、保存的系统快照以及其他与init相关的信息

配置文件:

/usr/lib/systemd/system:每个服务最主要的启动脚本设置,类似于之前的/etc/initd.d

 

/run/system/system:系统执行过程中所产生的服务脚本,比上面的目录优先运行

/etc/system/system:管理员建立的执行脚本,类似于/etc/rc.d/rcN.d/Sxx类的功能,比上面目录优先运行,在三者之中,此目录优先级最高

unit相关命令


10.27 target介绍

 

http://note.youdao.com/groupshare/?token=9C1195E40F024155AD27C5EB997D1960&gid=28142651

 扩展
提供一个iptables系列文章的博客 https://www.zsythink.net/archives/tag/iptables/page/2/
anacron https://www.jianshu.com/p/3009a9b7d024?from=timeline
systemd自定义启动脚本 http://www.jb51.net/article/100457.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值