保障4-0418任务打卡

任务列表:
10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作
10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍

10.19 iptables规则备份和恢复

10.19.1 iptables规则保存

iptables-save > /tmp/ipt.txt

  • 保存的名称可以自定义
  • 如果不定向到文件直接save会保存到/etc/sysconfig/iptables

10.19.2 iptables规则的恢复

iptables-restore < /tmp/ipt.txt

  • /etc/sysconfig/iptables里存放的是默认规则
  • 开机就会加载默认规则,如果是常用的规则直接save就好

10.20 firewalld的9个zone

10.20.1 关闭netfilter(iptables)服务,开启firewalld服务

[root@xy-01 ~]# systemctl disable iptables   #禁止iptables开机启动
Removed symlink /etc/systemd/system/basic.target.wants/iptables.service.   
[root@xy-01 ~]# systemctl stop iptables  #停止netfilter服务
[root@xy-01 ~]# systemctl enable firewalld   #添加firewalld服务开机启动
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.   
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@xy-01 ~]# systemctl start firewalld  #启动firewalld开机启动
  • 这个操作主要是为了防止两个相似的服务冲突。

10.20.2 firewalld的zone

  • zone是firewalld的规则集,一共有九个。
  • 默认的zone是public
  • 九个zone分别是:
[root@xy-01 ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
  • 如何查看默认zone
[root@xy-01 ~]# firewall-cmd --get-default-zone
public

10.20.3 firewalld的九个zone

  • drop (丢弃)
    任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
  • block(限制)
    任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息拒绝。
  • public(公共)
    在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。
  • external (外部)
    特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其他计算,不能相信它们不会对你的计算机造成危害,只能接收经过选择的连接。
  • dmz(非军事区)
    用于你的非军事区内的电脑,此区域可以公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接。
  • work(公作区)
    用于工作区。你可以基本相信网络内的其他电脑不会危害你的电脑。仅仅接收经过选择的连接。
  • home(家庭)
    用于家庭网络。你可以基本信任网络内的其他计算机不会危害你的计算机。仅仅接收经过选择的连接。
  • internal(内部)
    用于内部网络。你可以基本上信任网络内的其他计算机不会威胁你的计算机。仅仅接受经过选择的连接。
  • trusted(信任)
    可接受所有的网络连接

10.21 firewalld关于zone的操作

  • 修改默认zone:比如改成work
    firewall-cmd --set-default-zone=work
  • 查看指定网卡的zone:比如ens33
    firewall-cmd --get-zone-of-interface=ens33
  • lo的zone是no zone
  • 如果普通网卡的zone是no zone
    1.保证/etc/sysconfig/network-scripts/下配置文件正常
    2.重启firewalld服务
    systemctl restart firewalld
  • 为指定的网卡设置zone:比如ens37的zone为mdz
    firewall-cmd --zone=dmz --add-interface=ens37
  • 为指定的网卡更改zone:比如把zone的dmz更改为public
    firewall-cmd --zone=public --change-interface=ens37
  • 为指定的网卡删除zone:比如删除ens37的public
    firewall-cmd --zone=public --remove-interface=ens37
    删除zone后会回到默认zone
  • 查看所有网卡所在的zone
    firewall-cmd --get-active-zones

10.22 firewalld关于service的操作

所谓service就是针对某个服务的iptables规则

  • 查看所有的service
    firewall-cmd --get-service
  • 查看当前(默认)的service
    firewall-cmd --list-services
  • 查看指定zone的service
    firewall-cmd --zone=public --list-service
  • 为指定的zone添加service
    firewall-cmd --zone=public --add-service=ftp
    但是这样修改只是临时添加
  • 永久保存为zone添加的service
    firewall-cmd --zone=public --add-service=ftp --permanent
  • zone的配置文件被保存在/etc/firewalld/zones/
    不加–permanent选项的配置文件不会写入这个文件内。
  • zone的模版被保存在:
    /usr/lib/firewalld/zones/
  • service的模版被保存在:
    /usr/lib/firewalld/services/

解决一个需求:修改ftp的服务端口为1121,并在work zone下放行ftp服务

cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services #复制模版文件到配置目录  
vi /etc/firewalld/services/ftip.xml  #把复制来的配置文件中的21改为1121
cp /usr/lib/firewalld/zones/work.xml /etc/firewall/zones/  #把work模版复制到配置目录下  
vi /etc/firewalld/zones/work.xml #增加一行 <service name="ftp"/>(注意要加在</zone>之前)
firewall-cmd --reload 重新加载
firewall-cmd --zone=work --list-service

10.23 linux任务计划cron

10-34.png

  • 时间口决:分时日月周
  • 进入任务计划编辑状态
    crontab -e
    输入指令后,会进入像vim一样的编辑界面。
  • 日月周可以是一个范围用:1-10表示一号到十号。
  • 也可以用1,3,4表示一号三号四号。
  • 也可以使用*/2表示能被二整除的天数。
  • 要想让任伤计划正常使用,要启动crond服务。
    systemctl start crond
  • 可以使用systemctl status crond查看计划任务的状态。
    如果有绿色的“active(running)”字样,表示启动
    如果显示“inactive(dead)”字样,表示没有启动
  • 任务计划的脚本一定要使用绝对路径,来保证命令能够执行。
  • 任务计划一定要追加日志,保证有据可查。
  • 显示任务计划的内容
    crontab -l
  • cat /var/spool/sron/root显示用户的计划(这里显示的是root的计划)
  • 删除计划
    crontab -r
  • 操作默认当前用户,可以使用参数 -u 来指定用户。

10.24 chkconfig工具

chkconfig 是一种对服务管理的工具

  • chkconfig是centos6和之前版本使用的服务管理工具。
  • 在centos7环境下chkconfig所在的SysV服务,会被systemd服务所覆盖。
  • chkconfig --list 列出SysV所管理的服务。
  • chkconfig network off/on 在2345级别下的开关。
  • 0级别关机 1级别单用户模式 2级别比3级别少nfs功能的多用户模式
    3级别多用户模式 4级别保留级别 5级别带图形的多用户模式 6级别重启
  • chkconfig --level 3 network off/on
    针对级别的开关,可以同时控制多个级别,比如235
  • /etc/init.d/目录下存放的是服务的启动脚本。chkconfig其实就是在管理这个启动脚本。
  • chkconfig --add 脚本名称把/etc/init.d/下的脚本加入到服务管理中。
  • chkconfig --del 脚本名称把正在管理的服务移出列表。

10.25 systemd管理服务

10.25.1 列出服务

systemclt list-unit-files

  • 列出所有的服务

systemclt list-unit --all --tpye=service

  • 列出所有的service服务
  • 去掉–all选项就不会列出inactive状态的服务

10.25.2 服务的开机启动控制

systemclt enable 服务名

  • 开机启动

systemclt disable 服务名

  • 禁止开机启动

systemclt is-enabled 服务名

  • 检查服务是否开机启动。

10.25.3 服务的运行控制

systemclt stop 服务名

  • 停止服务

systemclt start 服务名

  • 启动服务

systemclt restart 服务名

  • 重启服务

10.26 unit介绍

所谓“unit”就是指systemd所能够控制的单元

10.26.1 unit的类型

  • 列出所有unit
    ls /usr/lib/systemd/system/
  • service 系统服务
  • target 多个unit组成的组
  • device 硬件设备
  • mount 文件系统挂载点
  • automnunt 自动挂载点
  • path 文件或路径
  • scope 不是由systemd启动的外部进程
  • slice 进程组
  • snapshot systemd 快照
  • socket 进程间通信套接字
  • swap swap文件
  • timer 定时器

10.26.2 unit相关的命令

  • 列出正在运行的unit
    systemctl list-units
  • 列出所有,包括失败或者inactive的unit
    systemctl list-units --all
  • 列出inactive的unit
    systemctl list-units --all --state=inactive
  • 列出状态为active的unit
    systemctl list-units --type=service
    不加–all默认列出状态为active的units
  • 查看某个服务是否为active
    systemctl is-active crond
    is的作用不仅仅可以查看active,也可以查看inactive,enable等等。

10.27 target介绍

target就是用来管理unit的组

10.27.1 查看target

  • 查看所有target
    systemctl list-unit-files --type=target
  • 查看target下有哪些unit
    systemctl list-dependencies multi-user.target

10.27.2 系统的默认target

  • 查看系统的默认target
    systemctl get-default
  • 更改系统的默认target
    systemctl set-dufault multi-user.target

10.27.3 查询一个unit属于哪个target

10-36.png

总结

  • 系统通过unit来管理程序
  • service是unit的一种类型
  • 多个unit组成一组称为target,系统通过管理target来管理这一组units。

直播笔记

firewalld开放80端口

firewall-cmd --add-port=80/tcp
firewall-cmd --permanent --add-port=80/tcp; firewall-cmd --reload
firewall-cmd --permanent --add-service=http; firewall-cmd --reload
要通过service来控制的服务必须是可以通过systemctl可以控制的服务。

firewall自定义规则

https://blog.51cto.com/jevic/1785162
这种方法可以通过类似netfilter的规则来管理firewalld。(当然是类似并不是完全相等,适合用于对netfilter更熟悉的用户)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值