RHEL7/CENTOS7 新特性(服务控制和防火墙)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHEL7/CENTOS7 新特性(服务控制和防火墙)相关的知识,希望对你有一定的参考价值。

服务控制


1 简介  RHEL7 监视和控制 systemd 的主要命令是 systemctl,该命令可以    用于查 看系统状态和管理系统及服务。
         RHEL7 的服务 systemctl 脚本存放在: /usr/lib/systemd/,有系统 system)
          和用户( user)之分,像需要开机不登陆就能运行的程序, 存在系统服务 里,即:/usr/lib/systemd/system 目录下。 每一个服务以.service 结尾 ,一般会分为 3部分:[Unit]、[Service]和                  [Install]

1)[Unit]部分主要是对这个服务的说明

2)[Service]部分是服务的关键,是服务的一些具体运行参数的设置

3)[Install]部分是服务安装的相关设置,可设置为多用户的


2定义   RHEL7 系统中 systemctl 是管制服务主要工具,它整合了 chkconfig   service 功能于一体。
          systemctl 命令的基本操作格式是:systemctl 动作服务名.service

1)分析系统状态:
      ① systemctl systemctl list-units #输出激活的单元

技术分享图片

      ②  systemctl list-units --type=service#列出 active 状态的服务

技术分享图片

      ③   systemctl list-unit-files 列出所有已安装服务

技术分享图片

    ④  systemctl --failed #显示启动失败的服务

技术分享图片

    

2)使用 systemctl 控制单元

systemctl start <单元> #立即启动单元
systemctl stop <单元> #立即停止单元
systemctl restart <单元> #重启单元

    systemctl mask <单元> #禁用单元

技术分享图片

    systemctl unmask <单元> #解禁单元

技术分享图片

systemctl reload <单元> #重新读取单元配置
        systemctl status <单元> #输出单元运行状态

技术分享图片

        systemctl is-enabled <单元> #检查单元是否配置为自动启动

技术分享图片

        systemctl enable <单元> #开机自动启动单元

技术分享图片

        systemctl disable <单元> #取消开机自动激活单元

技术分享图片

      systemctl is-active<单元> #查看单元是不是正在运行

技术分享图片

 

systemctl daemon-reload #重新载入 systemd,扫描新的或有变动的单元

 






防火墙


1 定义:   RHEL7 中有几种防火墙共存: firewalld iptables ebtables 等,默认使用  现在都使用firewalld 作为防火墙,管理工具是 :firewall-cmd

 

2 管理工具: 1)system-config-firewall 防火墙模型是静态的,每次修改都要求防火墙完全重启。

                (2) firewall-cmd 动态管理防火墙,不需要重启整个防火墙便可更改。

3 others      1)区域  :网络区域定义了网络连接的可信等级,一张网卡同时只能绑定一个zone
    
           2)预定义的服务: 服务是端口和/或协议入口的组合。
     端口和协议: 定义了 tcp udp 端口,端口可以是一个端口或者端口范围。

 

4 一般应用  
 1 获取 firewalld 状态

技术分享图片


2)在不改变状态的条件下重新加载防火墙

技术分享图片

3)获取支持的区域列表

技术分享图片

(4) 获取所有支持的服务

技术分享图片

(5) 获取所有支持的 ICMP 类型 : firewall-cmd --get-icmptypes

(6)  查询当前防火墙策略 : firewall-cmd --list-all-zones

(7)  查看默认区域 : firewall-cmd --get-default-zone  [默认:public]

(8)  设置默认区域 : firewall-cmd --set-default-zone=区域名 [也可在/etc/firewalld/firewalld.conf中定  ]

(9)  获取活动的区域 : firewall-cmd --get-active-zones

(10)  查看接口属于区域 :firewall-cmd --get-zone-of-interface=[接口名]

(11) 将接口(网卡) 增加到区域 firewall-cmd [--zone=] --add-interface=接口名 [一个接口只能对应一个zone]

(12) 修改接口所属区域 : firewall-cmd [--zone=] --change-interface=接口名 

(13) 从区域中删除一个接口: firewall-cmd [--zone=] --remove-interface=接口名 

(14) 查询区域中是否包含某接口:firewall-cmd [--zone=] --query-interface=接口名 

(15) 列举区域中启用的服务:firewall-cmd [ --zone= ] --list-services 

(16) 启用应急模式:firewall-cmd --panic-on

(17) 禁用应急模式:firewall-cmd --panic-off 


 5   处理运行时区域


(1)给某个区域开启某个服务
firewall-cmd [--zone=区域] --add-service=服务 [--timeout=秒数] 

(2)禁用区域中的某种服务即关闭某个服务
firewall-cmd [--zone=区域] --remove-service=服务 

(3)查询区域中是否启用了特定服务
firewall-cmd [--zone=区域] --query-service=服务 

(4)启用区域端口和协议组合
firewall-cmd [--zone=区域] --add-port=portid/protocol [--timeout=seconds] 

(5)禁用端口和协议组合
firewall-cmd [--zone=区域] --remove-port=portid]/protocol 

(6)查询区域中是否启用了端口和协议组合
firewall-cmd [--zone=区域] --query-port=portid/protocol 

(7)启用区域中的 IP 伪装功能
firewall-cmd [--zone=区域] --add-masquerade [禁用:remove 查询:query]

(8)启用区域的 ICMP 阻塞功能
firewall-cmd [--zone=区域]  --add-icmp-block=[ icmp 类型 ] [禁用:remove 查 :query]

(9)  在区域中启用端口转发或映射 
firewall-cmd  [--zone=区域]  --add-forward-port=port=[ portid]:proto=[protocol]:toport=[portid] :toaddress=[address /mask] 禁用:remove 查询:query



6  处理永久区域: reload



1)获取永久选项所支持的服务
 firewall-cmd --permanent --get-services 

2获取永久选项所支持的 ICMP 类型列表
 firewall-cmd --permanent --get-icmptypes 

3获取支持的永久区域
 firewall-cmd --permanent --get-zones 

4配置防火墙在public区域永久开启服务

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

5防火墙开放 8080 端口 public 区域
 firewall-cmd --permanent --zone=public --add-port=8080/tcp 


7 命令行配置富规则


(1)查看富规则: firewall-cmd --list-rich-rules 

(2)允许部分 IP 访问本机服务配置
 firewall-cmd  --permanent  --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.0.0/24" service name="http" accept" 

(3)允许部分 IP 访问本机端口配置
 firewall-cmd  --permanent  --zone=public  --add-rich-rule="rule family="ipv4" source address="192.168.0.0/24"port protocol="tcp" port="8080" accept" 

(4)禁止远程 IP 访问 ssh
 firewall-cmd  --permanent  --zone=public  --add-rich-rule=’rule family=ipv4 source address=192.168.0.0/24 service name=ssh reject 

5)【禁用:remove 查询:query

8  图形化配置工具 firewall-config











    


以上是关于RHEL7/CENTOS7 新特性(服务控制和防火墙)的主要内容,如果未能解决你的问题,请参考以下文章

RHEL7/CENTOS7新特性

RHEL7/CentOS7服务控制之systemctl命令

RHEL7/CentOS7服务控制之systemctl命令 򌔛

RHEL7/CentOS7服务控制之systemctl命令 񸪚

RHEL7/CentOS7服务控制之systemctl命令 񬬻

RHEL7/CENTOS7