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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux[基础]-27-[防火墙]-[firewalld]-[03]相关的知识,希望对你有一定的参考价值。

防火墙-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. 查看当前区域:

[[email protected] ~]# firewall-cmd --get-default-zone

public

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

public

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

yes

[[email protected] ~]# firewall-cmd --zone=public --query-service=http

no

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

success

[[email protected] ~]# firewall-cmd --get-default-zone

dmz

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

success

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

[[email protected] ~]# firewall-cmd --panic-off

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

[[email protected] ~]#firewall-cmd --permanent --zone=public --add-service=https

success

[[email protected] ~]# 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区域,立即生效切永久生效

[[email protected] ~]# firewall-cmd --permanent --zone=public --remove-service=http

success

[[email protected] ~]# firewall-cmd --reload

success

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

[[email protected] ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp

success

[[email protected] ~]# firewall-cmd --zone=public --list-ports

8080-8081/tcp

[[email protected] ~]#

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

[[email protected] ~]# firewall-cmd --permanent --zone=external --change-interface=eno16777728

success             

[[email protected] ~]# firewall-cmd --get-zone-of-interface=eno16777728

dmz

[[email protected] ~]#

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

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

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

success

[[email protected] ~]# firewall-cmd --permanent --zone=public --list-rich-rules

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

[[email protected] ~]#

 

 

 

 

以上是关于linux[基础]-27-[防火墙]-[firewalld]-[03]的主要内容,如果未能解决你的问题,请参考以下文章

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

linux命令(方可)

Linux项目中常用命令(持续更新中。。。)

Linux项目中常用命令(持续更新中。。。)

Linux中apche配置

防火墙知识点详解