linux 防火墙服务,Linux防火墙及系统服务管理

1 iptables规则备份和恢复

2 firewalld的9个zone

3 firewalld关于zone的操作

4 firewalld关于service的操作

5 linux任务计划cron

6 chkconfig工具

7 systemd管理服务

8 unit介绍

9 target介绍

扩展

提供一个iptables系列文章的博客

2878425https://www.zsythink.net/archives/tag/iptables/page/2/

anacron

2878425https://www.jianshu.com/p/3009a9b7d024?from=timeline

systemd自定义启动脚本

2878425http://www.jb51.net/article/100457.htm

1、iptables规则备份和恢复

9fe861f6d78df42acf93ae15c6797a1c.png

iptables备份配置文件到一个文件中

iptables-save > /tmp/ipt.txt

217a778ef8486fffdc165c1611ed1871.png

清空iptables

iptables -t nat -F

480e7b2dd29c1f0f47ace6e3c0fe5473.png

恢复iptables

iptables-restore < /tmp/ipt.txt

iptables -t nat -nvL 只查看nat规则

2、firewalld的9个zone

firewalld有9个zone,zone是firewalld的单位,默认使用public zone

关闭iptables开机启动

systemctl disable iptables

临时关闭iptables

systemctl stop iptables

开启firewalld开机启动

systemctl enable firewalld

临时开启firewalld

systemctl start firewalld

查看所有zone

c8e7740d858f7e73a0b21f72c809ad66.png

firewall-cmd --get-zones

查看默认zone

firewall-cmd --get-default-zone

e61042f1322be48c1bafa076acc957d5.png

3、firewalld关于zone的操作

672966efe199a8849df63fac04cc372b.png

设定默认zone

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

查指定网卡

firewall-cmd --get-zone-of-interface=ens32

给指定网卡设置zone

firewall-cmd --zone=dmz --add-interface=ens32:0

针对网卡更改zone

firewall-cmd --zone=block --change-interface=ens32:0

针对网卡删除zone

firewall-cmd --zone=block --remove-interface=ens32:0

查看系统所有网卡所在zone

firewall-cmd --get-active-zones

4、firewalld关于service的操作

查看所有的service有哪些

firewall-cmd --get-services

20e2ab000911e8b74c96c9f700797bef.png

查看当前的zone

firewall-cmd  --get-default-zone

6c74c39df6b4302ed21215c57a3f9b3c.png

查看当前work的zone里面有哪些service

firewall-cmd --list-services或者firewall-cmd --list-service

查看某个zone里面有哪些service

firewall-cmd --zone=work --list-service

4f273a94cd8fdb8ff1add44fe1f98b77.png

把http增加到public zone下面

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

071a11356222041f1df3e1434ecde4c5.png

把更改写入配置文件(永久生效)

firewall-cmd --zone=public --add-service=ftp --permanent

315e62d7e511e6bf220563c50ed211c5.png

查看配置文件

cat /etc/firewalld/zones/public.xml

17be7ad8cc8f17038dca6e8cdbab756c.png

ftp服务器自定义端口1121,需要在work zone下面放行ftp

把ftp的配置文件拷贝到etc下面去

cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services

编辑/etc/firewalld/services/ftp.xml配置文件,把21端口改成1121

vi /etc/firewalld/services/ftp.xml

4c52c4c5a94bc29a8d61bea927633ea2.png

把work配置文件拷贝到zones下面

cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/

编辑/etc/firewalld/zones/work.xml配置文件,增加标记的这行

vi /etc/firewalld/zones/work.xml

09261b14f931efe4735c261b46d399c5.png

重新加载加载服务

firewall-cmd --reload

dcd055d41347ef50b6cb247712e5be40.png

查看

firewall-cmd --zone=work  --list-services

011e1d6f050dc70d0bef499e2deb39a6.png

5、linux任务计划cron

853aac8783b0cf43e92a03f3daf7b62c.png

查看任务计划配置文件(会定义SHELL,PATH环境变量、命令的路径,MAILTO发送邮件给谁)

格式

*  *  *  *  * user-name  command to be executed

minute (0 - 59) 第一个*表示分钟

hour (0 - 23)第二个表示小时

day of month (1 - 31)第三个表示日期

month (1 - 12) OR jan,feb,mar,apr ...第四个表示月份

day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat第五位表示星期,范围是0到6,0/7表示周日

user-name 第六位表示用户

command to be executed 第七列表示要执行的命令

cat /etc/crontab

2f5ce3c5be75086d1510708229df64f1.png

定义任务计划配置文件

crontab -e

每天3点执行/usr/local/sbin/123.sh脚本,并每天记录正确和错误日志到tmp123.log

612bec2c3e12b02dbff8398f78436785.png

1到10号,双月,周二和周五执行,确定某一天的唯一性,用星期确认

cb10ef0cbe59bd1324d4807ebdda8966.png

启动crond服务

systemctl start crond

检查服务是否启动成功

ps aux |grep cron

查看crond服务状态是否正常

systemctl status crond

0201822f6b409d3c1d4823416389967d.png

如果任务没有执行很有可能是命令没有用绝对路径,因为用的命令不在变量PATH里,所以要么使用绝对路径,要么将命令加入到PATH变量里

每一个执行的脚本最好都写上追加正确与错误的内容到指定的文件,这样就可以有迹可寻,当有错误时可以查看下错误的文件日志就知道了

备份脚本的内容,可以把下面的root直接拷贝就行了,如果是user用户就会是user名称的文件

291420ddd87ba809af46bfcd5d2404f7.png

crontab -r是删除脚 本

5b5412bcc8c1217016643e2b7ce06d2a.png

6、chkconfig工具

chkconfig --list,列出所有的系统服务

488de8f32a4dd1006ee547cd44b4f449.png

服务的脚本存放位置:

86ab8b53456f5f5f4c885cb201ff9013.png

chkconfig network off,将network服务关闭

7ef403e749061a4f23309efe0018bbf6.png

7个运行级别分别表示:

0(关机);

1(单用户);

2(多用户模式,没nfs服务)

3(多用户模式,不带图形)

4(保留)

5(多用户模式带图形)

6(重启)

针对某一个或几个运行级别状态打开、关闭,多个运行级别之前不用符号隔开

119859bb25a6f41f0287026d0b8ff465.png

自定义添加和删除服务

进入/etc/init.d/目录下,只有在这个目录下,才能添加到服务列表里去

8817bac60f2bbeb76b80d6d801771878.png

d308b843d533521119a3b4a4ac00da96.png

vim 123,对文件内容有要求,首先要是一个shell脚本,然后有chkconfig和description的格式,才能被识别,格式如下:

3da35a09656e1be0dc6d472a1b4bb9ed.png

删除服务

2855fe126dde6bc57cbdedd8a35ea1d3.png

7、systemd管理服务

systemctl list-unit-files,查看所有的服务

systemctl list-units --all --type=service,指定type,列出所有的service,按空格可以往下翻,不加-all,则不会列出inactive项

7ec5f793877ed38ea8e97d7c562b9897.png

几个常用的和服务相关的命令

systemctl enable crond.service,让服务开机启动(.service可以省略);systemctl disable crond,不让服务开机启动

b52d16681596a434e69be9bbc45b666c.png

systemctl status crond,查看状态

ba675d63be0a42296c123fed2d7d9b4d.png

systemctl stop crond,停止服务;

systemctl start crond,启动服务;

systemctl restart crond,重启服务;

systemctl is-enabled crond ,检查服务是否开机启动

e5d45020b701a0b34e3459ba7bb99340.png

8、unit介绍

b1c08421286dad7abe69c58a820b7c63.png

unit相关命令

2385d9a6ad615f85669acc381bff1ea7.png

systemctl list-units ,列出正在运行的unit

systemctl list-units --all,列出所有包括失败的或者inactive的

systemctl list-units --all --state=inactive,列出inactive的unit

systemctl list-units --type=service,列出状态为active的service

systemctl is-active crond.service,查看某个服务是否为active

9、target介绍

系统为例方便管理用target来管理unit

systemctl list-unit-files --type=target,列出系统中所有的target

systemctl list-dependencies multi-user.target,查看指定target下面有哪些unit

systemctl get-default,查看系统默认的target

systemctl set-default multi-user.target,设置默认的target

一个service属于一种类型的unit,多个unit组成了一个target,一个target里面包含了多个service。

cat /usr/lib/systemd/system/sshd.service ,查看sshd.service属于哪个target,看Install部分可知

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值