zoukankan      html  css  js  c++  java
  • CentOS7--Firewalld防火墙

      Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特点是拥有运行时配置永久配置选项且能够支持动态更新以及"zone"的区域功能概念,使用图形化工具firewall-config或文本管理工具firewall-cmd

     配置文件的位置:

      firewalld 的配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 里的各种 XML 文件里,firewalld 优先使用 /etc/firewalld/services/ 里的文件。

    通过编辑 /etc/firewalld/services/ 中的 XML 文件,服务可以被增加和删除,/usr/lib/firewalld/services/ 文件可以作为模板使用。

    区域概念与作用:

      防火墙的网络区域定义了网络连接的可信等级,我们可以根据不同场景来调用不同的firewalld区域,区域规则有:

       特别需要注意的是firewalld服务有两份规则策略配置记录,必需要能够区分:

        RunTime:当前正在生效的。

        Permanent:永久生效的。

    当下面实验修改的是永久生效的策略记录时,必须执行"--reload"参数后才能立即生效,否则要重启后再生效。

    开启firewalld

     

    systemctl start firewalld
    systemctl enable firewalld

     

    查看当前的区域:

    [root@Centos7 ~]# firewall-cmd --get-default-zone
    public

    查询网卡的区域:

    [root@Centos7 ~]# firewall-cmd --get-zone-of-interface=eno16777736
    public

    在public中分别查询ssh与http服务是否被允许:

    [root@Centos7 ~]# firewall-cmd --zone=public --query-service=ssh
    yes
    [root@Centos7 ~]# firewall-cmd --zone=public --query-service=http
    no

    设置默认规则为dmz:

    [root@Centos7 ~]# firewall-cmd --set-default-zone=dmz
    success

    让“永久生效”的配置文件立即生效:

    [root@Centos7 ~]# firewall-cmd --reload
    success

    启动/关闭应急状况模式,阻断所有网络连接:

    应急状况模式启动后会禁止所有的网络连接,一切服务的请求也都会被拒绝,当心,请慎用。

    [root@Centos7 ~]# firewall-cmd --panic-on
    success [root@Centos7~]# firewall-cmd --panic-off
    success

    实例:

    模拟训练A:允许https服务流量通过public区域,要求立即生效且永久有效:

      方法一:分别设置当前生效与永久有效的规则记录:

    [root@Centos7 ~]#  firewall-cmd --zone=public --add-service=https
    success
    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
    success

      方法二:设置永久生效的规则记录后读取记录:

    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
    success
    [root@Centos7 ~]# firewall-cmd --reload
    success

    模拟训练B:不再允许http服务流量通过public区域,要求立即生效且永久生效:

    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --remove-service=http
    success
    
    [root@Centos7 ~]# firewall-cmd --reload 
    success

    模拟训练C:允许8080与8081端口流量通过public区域,立即生效且永久生效:

    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
    success
    [root@Centos7 ~]# firewall-cmd --reload 
    success

    模拟训练D:查看模拟实验中的规则:

    [root@Centos7 ~]# firewall-cmd --zone=public --list-services 
    dhcpv6-client http https ssh
    [root@Centos7 ~]# firewall-cmd --zone=public --list-ports 
    8080-8081/tcp

    模拟实验F:设置富规则,拒绝192.168.10.0/24网段的用户访问ssh服务:

    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
    success

     模拟实验G:将访问主机888端口的请求转发至22端口:

    [root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.0.85
    success
    [root@Centos7 ~]# firewall-cmd --reload 
    success

    在别的机器访问192.168.0.85(Centos7)

    [root@wls12c ~]$ ssh -p 888 192.168.0.85
    root@192.168.0.85's password: 
    Last login: Mon Jan 16 17:22:42 2017 from 192.168.0.85
    [root@Centos7 ~]# 
     图形管理工具
    执行firewall-config命令即可看到firewalld的防火墙图形化管理工具,真的很强大,可以完成很多复杂的工作。
     

  • 相关阅读:
    OC2_数组操作
    OC1_数组创建
    OC6_字符串练习
    Python3学习笔记12-定义函数及调用
    Python3学习笔记11-循环语句
    Python3学习笔记10-条件控制
    Python3学习笔记09-字典
    Python3学习笔记08-tuple
    Python3学习笔记07-List
    Python3学习笔记05-数字
  • 原文地址:https://www.cnblogs.com/zydev/p/6290110.html
Copyright © 2011-2022 走看看