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

在這裏插入圖片描述

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