firealld基本使用方法

简介

  • Firewalld提供更加智能化的防火墙管理规则,优化策略配置方案,支持网络“zones(域)”,并为网络及其关联的链接、接口或源分配信任级别,不同信任级别默认开放服务不同。

  • 支持IPV4,IPV6,以太网桥以及IPSET防火墙设置。

  • 运行时态与永久配置分离,运行时态可手动更改,重置后回到永久配置(文件配置)

  • 优化iptables添加规则,还支持图形界面(本文不介绍),除了iptables,还有ip6tables和ebtables规则。

概念及架构

空间架构分为上下两层。

  • 上层:firewalld D-Bus:命令主接口,修改防火墙配置主要方式。
firewall-cmd:主要命令行操作方式。

firewall-config:离线命令行操作模式,因为直接作用于firewalld永久配置中,所以在firewall运行时不建议直接操作。

firewall-config:图形配置模式。

firewall-applet:防火墙小程序。


  • 下层(核心层):负责处理配置和后端,并含有iptables,ip6tables,ebtables,ipset模块加载器。
    在这里插入图片描述

核心组成

区域:
ZONE(防火墙区域定义链接、接口或源地址绑定的信任级别),共10(还有一种为default)种,直接为网域种的其他计算机建立信任关系度,不用进行麻烦的配置操作,只需要选择一个zone即可,如若不满足需要,还可手动添加信任服务。

Drop : 任何传入的网络的数据包都被丢弃

Block : 任何传入网络的数据包都被拒绝(包括ICMP),只能启动网络链接

Public : 在公共区域内使用,近接受选定的传入链接(默认:仅ssh或dhcpv6-client服务链接)

External : 用于伪装,出去的ipv4网络链接通过此区域伪装和转发(默认:仅接受ssh服务链接)

Dmz : 对内部网络访问权限限制(默认:仅接受ssh服务链接)

Work : 用于工作区(默认:仅接受ssh,ipp-client或dhcpv6-client服务链接 )

Home : 用于家庭区(默认:仅接受ssh,mdns,ipp-client,samba-client或dhcpv6-client服务链接)

Internal : 内部,对网络上的其他计算机信任的较高,默认大部分服务

Trusted : 最高信任级别,接受所有网络链

区域 默认规则策略
trusted 允许所有的数据包
home 拒绝流入的流量,除非与流出的流量相关,如果流量与ssh、mdns、ipp-client、amba-client、与dhcpv6-client服务相关,则允许流量
iinternal 等同于home区域
work 拒绝流入的流量,除非与流出的流量相关,如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许流量
public 拒绝流入的流量,除非与流出的流量相关;如果流量与ssh、dhcpv6-client服务相关,则允许流量
external 除非与流出的流量相关;如果流量与ssh服务先关,则允许流量
dmz 拒绝流量,除非与流出的流量先关;如果流量与ssh服务相关,则允许流量
–get-default-zone 查询默认区域名称
–set-zone =<区域名称> 设置默认的区域,使其永久生效
–get-zones 显示可用区域
–get-services 显示预先定义的服务
–get-active-zones 显示当前正在使用的区域与网卡名称
–add-source=xx 将源自此ip或子网的流量到指定的区域
–remove-source=xx 不再将源自此ip或子网的流量导向某个指定区域
–change-interface=<网卡名称> 将某个网卡与区域相关联
–list-all 显示当前区域的网卡配置参数、资源、端口机服务等信息
–list-all-zones 显示所有区域的网卡配置参数、资源、端口机服务等信息
–add-service=<服务名> 设置默认区域允许的该服务的流量
–add-port=<端口号/协议> 设置默认区域允许的该端口的流量
–remove-port=<端口号/协议> 设置默认区域不在允改端口的流量
–reload 让“永久生效”配置的规则立即生效,并覆盖当前的配置规则
–panic-on 开启应急状况模式
panic-off 关闭应急状况模式
  • 当前生效模式(RUNtime)

  • 永久生效 (Permanent)

案列

  • 查看当前区域
[root@client_13 ~]# firewall-cmd --get-default-zone 
public
[root@client_13 ~]# 
[root@client_13 ~]# 
  • 网卡在哪个区域
[root@client_13 ~]# 
[root@client_13 ~]# firewall-cmd --get-zone-of-interface=ens33
public
[root@client_13 ~]# 

  • 网卡改变到external区域 – 重启仍然生效(永久模式)
[root@client_13 ~]# firewall-cmd  --permanent --zone=external --change-interface=eht0

 
  • 把firewalld服务的当前默认区域设置为public
[root@client_13 ~]# firewall-cmd --set-default-zone=public 
Warning: ZONE_ALREADY_SET: public
success
[root@client_13 ~]# 

  • 把firewalld服务设置为应急模式(慎用)-- 相当于紧急模式(windows安全模式)

完全断网状态

[root@client_13 ~]# firewall-cmd --panic-off 
  • 查询public区域是够允许ssh和http服务
[root@client_13 ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@client_13 ~]# firewall-cmd --zone=public --query-service=http
http   https  
[root@client_13 ~]# firewall-cmd --zone=public --query-service=http
no
[root@client_13 ~]# 


  • 设置http为永久允许
[root@client_13 ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@client_13 ~]# firewall-cmd --reload 
success
[root@client_13 ~]# firewall-cmd --permanent --zone=public --add-port=8080-8090/tcp
success
[root@client_13 ~]# firewall-cmd --zone=public --list-ports 

[root@client_13 ~]# firewall-cmd --reload 
success
[root@client_13 ~]# firewall-cmd --zone=public --list-ports 

8080-8090/tcp
[root@client_13 ~]# 
[root@client_13 ~]# 

语法:

firewall-cmd --permanent --zone=public --add-forward-port=prot=888:proto=tcp:toport=22:roaddr=目的IP

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

图形界面使用

在这里插入图片描述
若果你是最小安装,则先安装图形界面,然后再次执行

[root@client_13 ~]# yum  -y groupinstall "Server with GUI"     --- RHEL7.x

yum  -y groupinstall "X Window System" Desktop  --- RHEL6.x

启动图形界面:

[root@client_13 ~]#startx

在这里插入图片描述
ok!我的这里就可以操作了,如果还时不行,说明你的x11forwarding为no

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章