firewalld才是centos7上的防火墙机器

之前的操作中我是打开了iptables服务,现在我们先关闭iptables服务,打开firewalld服务。

 systemctl disable iptables

systemctl stop iptables

systemctl enable firewalld 

systemctl start firewalld

blob.png

  iptables -nvL 查看默认规则

               

                firewalld的9个zone(默认zeno为public)


查看所有zone

firewall-cmd --get-zones

blob.png

查看默认的zone


firewall-cmd --get-default-zone

blob.png

blob.png

                         

                               firewalld关于zone的操作

1.设置默认的zone

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

blob.png

2.查看指定网卡的zone

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

blob.png

如果我们新增的网卡没有zone怎么办?

  方法一:(使网卡的zone自动变为默认zone)

   (1)复制一份配置文件:

        cp /etc/sysconfig/network-scripts/ifcfg-ens33  /etc/sysconfig/network-scripts/ifcfg-ens3

    (2)修改配置文件

blob.png

    (3)重启网络服务:systemctl restart network.service

    (4)重新加载firewalld服务:systemctl  restart  firewalld



 方法二:(给指定网卡添加指定的zone)

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

blob.png


针对网卡更改zone:(改为block)

firewall-cmd --zone=block --change-interface=ens37

blob.png


针对网卡删除zone:

firewall-cmd --zone=block --remove-interface=ens37

blob.png


查看系统所有网卡所在的zone

firewall-cmd --get-active-zones

blob.png


                  firewalld关于service的操作

                 

blob.png

firewalld的9种zone之所以不同是因为不同的zone都有不同的service,而service就是真的一个服务(端口)做的iptables规则。


    查看所有的servies:

    firewall-cmd --get-services 

blob.png


查看当前zone下游哪些service

 firewall-cmd --list-services ( firewall-cmd --list-service

blob.png


查看指定的zone下有什么service:

firewall-cmd --zone=public --list-services

blob.png


把http增加到public zone下面:

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

blob.png

此时的zone的服务仅仅是增加在内存里,要想增加到配置文件中需要加一个选项--permanent


zone的服务增加到配置文件中

更改配置文件

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


blob.png


zone的配置文件模板:

ls /usr/lib/firewalld/zones/

blob.png

ls /usr/lib/firewalld/servics/

blob.png


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

(使用配置文件方法操作)

1.复制

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

2.编辑:vim /etc/firewalld/services/ftp.xml

blob.png

3.复制:

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

4.编辑:vim /etc/firewalld/zones/work.xml

     增加一行内容 <service name="ftp"/>


blob.png

5.重新加载:firewall-cmd --reload

blob.png

此时我们已经完成在work zone下放行ftp



                  Linux 任务计划 cron

blob.png

任务计划的配置文件: /etc/crontab

blob.png

(图中:MAILTO 表示发送任务计划给谁)

crontab:

-u:表示指定某个用户,不加-u则为当前用户

-e :表示制定计划任务(进入到编辑模式)

-l :列出计划任务

-r: 删除计划任务





进入编辑模式 : crontab -e


M$JCD()_98I~J_QF~}ATU4H.png

(编写任务计划crond服务是如果执行一个bash/命令,写它的绝对路径)

指定执行范围:

  (

 分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7

 可用格式1-5表示一个范围1到5

 可用格式1,2,3表示1或者2或者3

 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

blob.png表示每天凌晨3点 每个月1-20号 每年的双月,每周的星期2、5去运行任务。


编写完任务需要启动crond这个服务需要执行:

  systemctl start crond


检查是否启动成功:

方法一:ps aux |grep cron

方法二:systemctl status crond

blob.png

 (停止crond 启动:systemctl stop crond )




 (  要保证服务是启动状态

 systemctl start crond.service)



制定一个计划:

blob.png

crontab -l (列出计划任务)

blob.png


 crontab文件在哪里呢?

 /var/spool/cron

blob.png

(查看root用户的crontab文件。

   如果查看其他用户的crontab文件: cat /var/spool/cron/用户名


备份计划任务:cp  /var/spool/cron/用户名 /绝对路径/

           cp  /var/spool/cron/root /tmp/cansheng/root.bk




         Linux系统服务管理-chkconfig

                   chkconfig工具

blob.png


(在centos7之前都是用chkconfig工具的,但是在centos7后也能用,但是不作为里面的工具)


查看当前有哪些系统服务使用chkconfig工具:

chkconfig --list

blob.png

(此时只有netconsole和network服务了)

 netconsole和network服务所在处?

 /etc/init.d

blob.png


把一个服务状态做变更:

 chkconfig network off 

blob.png

chkconfig network on

blob.png

指定某级别的状态:关闭/开启

chkconfig --level 3 network off 

chkconfig --level 235 network off (切记不要把0和6开启)



修改配置文件,更改运行级别:vi /etc/inittab (在centos7已经是不使用)




把一个自定义的脚本加入到我们的服务列表:(例如自定义脚本名为:123)

1.进入到 /etc/init.d文件中

2.把自定义脚本(123)放到 /etc/init.d 下(mv/cp

3.chkconfig --add 123

4.查看是否加进来了:chkconfig --list

blob.png


自定义的脚本名字可以自定义,但是内容有格式:

1.首先是个shell脚本;

2.

blob.png


删除自定义的服务:chkconfig --del 123




                                       systemd管理服务

                        Linux系统服务管理-systemd

查看系统所有的service:

systemctl list-units --all --type=service

blob.png

提示命令:

blob.png

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

(1)让服务开机启动

  systemctl enable  crond.service   (.service可以省略)

(2)不让开机启动

  systemctl disable  crond.service   (.service可以省略)disable表示开机不再启动

blob.png

 ( 3 )查看状态:

  systemctl status crond

blob.png

(4)停止服务

   systemctl stop crond

(5)启动服务

  systemctl start crond

 (6)重启服务

  systemctl restart crond

 

  (7)检查服务是否开机启动:

 systemctl is-enabled crond

blob.png