码迷,mamicode.com
首页 > 系统相关 > 详细

linux[基础]-27-[防火墙]-[firewalld]-[03]

时间:2017-09-23 23:16:38      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:覆盖   block   模式   记录   time   set   ipv4   关联   http   

防火墙-firewalld

 

Firewalld服务是RHEL7中默认的防火墙管理工具

特点:(1) 运行时配置 (2) 永久配置 (3) 支持动态更新 (4) zone区域概念

方法:命令行:firewall-cmd  图形化:firewall-config

 

区域定义了网络连接的可信等级:

 

区域

默认策略

trusted

允许所有数据包

home

拒绝流入数据包,除非与输出数据包相关或ssh\mdns\ipp-client\samba-client\dhcpv6-client服务

internal

等同于home区域

work

拒绝流入数据包,除非与输出数据包相关或ssh\ipp-client\dhcpv6-client

public

拒绝流入数据包,除非与输出数据包相关或ssh\dhcpv6-client

external

拒绝流入数据包,除非与输出数据包相关或ssh

dmz

拒绝流入数据包,除非与输出数据包相关或ssh

block

拒绝流入数据包,除非与输出数据包相关

drop

拒绝流入数据包,除非与输出数据包相关

 

命令行管理工具(字符管理工具)

高效的管理配置防火墙

 

参数

作用

--get-default-zone

查询默认区域的名称

--set-default-zone=<区域名称>

设置默认区域(永久生效)

--get-zones

显示可用的区域

--get-services

查询预先定义的服务

--get-active-zones

显示当前正在使用的区域与网卡名称

--add-source

将来源IP或子网流量指向某个区域

--remove-source

不在将来源IP或子网流量指向某个区域

--add-interface=<网卡名称>

将来自于该网卡的所有流量都指向某个指定区域

--change-interface=<网卡名称>

将某个网卡与区域做关联

--list-all

显示当前区域的网卡配置参数、资源、端口以及服务等信息

--list-all-zones

显示所有区域的网卡配置参数、资源、端口以及服务等信息

--add-service=<服务名>

设置允许该服务的流量

--add-port=<端口/协议>

允许该端口的流量

--remove-service=<服务名>

不在允许该服务的流量

--remove-port=<端口/协议>

不在允许该端口的流量

--reload

立即生效覆盖当前

 

firewalld服务有两份规则策略配置记录:

  runtime:当前正在运行的

  permanent:永久生效的

  做永久生效的实验时需要使用参数--reload来让他不停止服务重新加载配置文件

 

lab begin~:

 

1. 查看当前区域:

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

public

[root@CnBlogs ~]#
  1. 查看网卡的区域:
[root@CnBlogs ~]# firewall-cmd --get-zone-of-interface=eno16777728

public

[root@CnBlogs ~]#
  1. 在public中分别查询sshd与httpd服务是否被允许
[root@CnBlogs ~]# firewall-cmd --zone=public --query-service=ssh

yes

[root@CnBlogs ~]# firewall-cmd --zone=public --query-service=http

no

[root@CnBlogs ~]#
  1. 设置默认规则为dmz:
[root@CnBlogs ~]# firewall-cmd --set-default-zone=dmz

success

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

dmz

[root@CnBlogs ~]#
  1. 让永久配置的文件立即生效:
[root@CnBlogs ~]# firewall-cmd --reload

success

[root@CnBlogs ~]#
  1. 启动/关闭应急模式(断开所有网络连接)
[root@CnBlogs ~]# firewall-cmd --panic-on 

[root@CnBlogs ~]# firewall-cmd --panic-off

实验1:允许https服务流量通过public区域,并且让它永久生效

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

success

[root@CnBlogs ~]# firewall-cmd --zone=public --list-all

public

  interfaces:

  sources:

  services: dhcpv6-client https ssh

  ports:

  masquerade: no

  forward-ports:

  icmp-blocks:

  rich rules:

实验2:不在允许http服务流量通过public区域,立即生效切永久生效

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

success

[root@CnBlogs ~]# firewall-cmd --reload

success

实验3:允许8080和8081端口流量通过public区域,

[root@CnBlogs ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp

success

[root@CnBlogs ~]# firewall-cmd --zone=public --list-ports

8080-8081/tcp

[root@CnBlogs ~]#

实验4:将网卡的区域是修改为external区域,重启后生效

[root@CnBlogs ~]# firewall-cmd --permanent --zone=external --change-interface=eno16777728

success             

[root@CnBlogs ~]# firewall-cmd --get-zone-of-interface=eno16777728

dmz

[root@CnBlogs ~]#

实验5:设置富规则,让192.168.10.0/24网段的pc不能访问本机的ssh服务

富规则:用于服务、端口、协议的详细配置

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

success

[root@CnBlogs ~]# firewall-cmd --permanent --zone=public --list-rich-rules

rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject

[root@CnBlogs ~]#

 

 

 

 

linux[基础]-27-[防火墙]-[firewalld]-[03]

标签:覆盖   block   模式   记录   time   set   ipv4   关联   http   

原文地址:http://www.cnblogs.com/msl23/p/7583174.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!