国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

CentOS7 Firewall防火墻配置用法詳解

2024-08-27 23:59:02
字體:
來源:轉載
供稿:網友

centos 7中防火墻是一個非常的強大的功能了,但對于centos 7中在防火墻中進行了升級了,下面我們一起來詳細的看看關于centos 7中防火墻使用方法.

FirewallD 提供了支持網絡/防火墻區域(zone)定義網絡鏈接以及接口安全等級的動態防火墻管理工具,它支持 IPv4,IPv6 防火墻設置以及以太網橋接,并且擁有運行時配置和永久配置選項,它也支持允許服務或者應用程序直接添加防火墻規則的接口,以前的 system-config-firewall/lokkit 防火墻模型是靜態的,每次修改都要求防火墻完全重啟,這個過程包括內核 netfilter 防火墻模塊的卸載和新配置所需模塊的裝載等,而模塊的卸載將會破壞狀態防火墻和確立的連接.

相反,firewall daemon 動態管理防火墻,不需要重啟整個防火墻便可應用更改,因而也就沒有必要重載所有內核防火墻模塊了,不過,要使用 firewall daemon 就要求防火墻的所有變更都要通過該守護進程來實現,以確保守護進程中的狀態和內核里的防火墻是一致的,另外,firewall daemon 無法解析由 ip*tables 和 ebtables 命令行工具添加的防火墻規則.

守護進程通過 D-BUS 提供當前激活的防火墻設置信息,也通過 D-BUS 接受使用 PolicyKit 認證方式做的更改.

“守護進程”

應用程序、守護進程和用戶可以通過 D-BUS 請求啟用一個防火墻特性,特性可以是預定義的防火墻功能,如:服務、端口和協議的組合、端口/數據報轉發、偽裝、ICMP 攔截或自定義規則等,該功能可以啟用確定的一段時間也可以再次停用.

通過所謂的直接接口,其他的服務(例如 libvirt )能夠通過 iptables 變元(arguments)和參數(parameters)增加自己的規則。

amanda 、ftp 、samba 和 tftp 服務的 netfilter 防火墻助手也被“守護進程”解決了,只要它們還作為預定義服務的一部分。附加助手的裝載不作為當前接口的一部分。由于一些助手只有在由模塊控制的所有連接都關閉后才可裝載。因而,跟蹤連接信息很重要,需要列入考慮范圍。

靜態防火墻(system-config-firewall/lokkit):

使用 system-config-firewall 和 lokkit 的靜態防火墻模型實際上仍然可用并將繼續提供,但卻不能與“守護進程”同時使用,用戶或者管理員可以決定使用哪一種方案.

在軟件安裝,初次啟動或者是首次聯網時,將會出現一個選擇器。通過它你可以選擇要使用的防火墻方案。其他的解決方案將保持完整,可以通過更換模式啟用。

firewall daemon 獨立于 system-config-firewall,但二者不能同時使用。

使用iptables和ip6tables的靜態防火墻規則,如果你想使用自己的 iptables 和 ip6tables 靜態防火墻規則, 那么請安裝 iptables-services 并且禁用 firewalld ,啟用 iptables 和ip6tables:

  1. yum install iptables-services 
  2. systemctl mask firewalld.service 
  3. systemctl enable iptables.service 
  4. systemctl enable ip6tables.service 

靜態防火墻規則配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables .

注:iptables 與 iptables-services 軟件包不提供與服務配套使用的防火墻規則. 這些服務是用來保障兼容性以及供想使用自己防火墻規則的人使用的.你可以安裝并使用 system-config-firewall 來創建上述服務需要的規則.為了能使用 system-config-firewall,你必須停止 firewalld.

為服務創建規則并停用 firewalld 后,就可以啟用 iptables 與 ip6tables 服務了:

  1. systemctl stop firewalld.service 
  2. systemctl start iptables.service 
  3. systemctl start ip6tables.service 

什么是區域?

網絡區域定義了網絡連接的可信等級,這是一個一對多的關系,這意味著一次連接可以僅僅是一個區域的一部分,而一個區域可以用于很多連接.

預定義的服務

服務是端口和/或協議入口的組合,備選內容包括 netfilter 助手模塊以及 IPv4、IPv6地址.

端口和協議

定義了 tcp 或 udp 端口,端口可以是一個端口或者端口范圍。

ICMP阻塞

可以選擇 Internet 控制報文協議的報文,這些報文可以是信息請求亦可是對信息請求或錯誤條件創建的響應.

偽裝:

私有網絡地址可以被映射到公開的IP地址,這是一次正規的地址轉換.

端口轉發

端口可以映射到另一個端口以及/或者其他主機.

哪個區域可用?

由firewalld 提供的區域按照從不信任到信任的順序排序.

丟棄

任何流入網絡的包都被丟棄,不作出任何響應,只允許流出的網絡連接.

阻塞

任何進入的網絡連接都被拒絕,并返回 IPv4 的 icmp-host-prohibited 報文或者 IPv6 的 icmp6-adm-prohibited 報文,只允許由該系統初始化的網絡連接.

公開

用以可以公開的部分,你認為網絡中其他的計算機不可信并且可能傷害你的計算機,只允許選中的連接接入,(You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.)

外部

用在路由器等啟用偽裝的外部網絡,你認為網絡中其他的計算機不可信并且可能傷害你的計算機,只允許選中的連接接入.

隔離區(dmz)

用以允許隔離區(dmz)中的電腦有限地被外界網絡訪問。只接受被選中的連接。

工作:用在工作網絡,你信任網絡中的大多數計算機不會影響你的計算機,只接受被選中的連接。

家庭:用在家庭網絡,你信任網絡中的大多數計算機不會影響你的計算機,只接受被選中的連接.

內部:用在內部網絡,你信任網絡中的大多數計算機不會影響你的計算機,只接受被選中的連接.

受信任的:允許所有網絡連接。

我應該選用哪個區域?

例如,公共的 WIFI 連接應該主要為不受信任的,家庭的有線網絡應該是相當可信任的。根據與你使用的網絡最符合的區域進行選擇。

如何配置或者增加區域?

你可以使用任何一種 firewalld 配置工具來配置或者增加區域,以及修改配置。工具有例如 firewall-config 這樣的圖形界面工具, firewall-cmd 這樣的命令行工具,以及D-BUS接口?;蛘吣阋部梢栽谂渲梦募夸浿袆摻ɑ蛘呖截悈^域文件。 @PREFIX@/lib/firewalld/zones 被用于默認和備用配置,/etc/firewalld/zones 被用于用戶創建和自定義配置文件。

如何為網絡連接設置或者修改區域

區域設置以 ZONE= 選項 存儲在網絡連接的ifcfg文件中。如果這個選項缺失或者為空,firewalld 將使用配置的默認區域。

如果這個連接受到 NetworkManager 控制,你也可以使用 nm-connection-editor 來修改區域。

由NetworkManager控制的網絡連接

防火墻不能夠通過 NetworkManager 顯示的名稱來配置網絡連接,只能配置網絡接口。因此在網絡連接之前 NetworkManager 將配置文件所述連接對應的網絡接口告訴 firewalld 。如果在配置文件中沒有配置區域,接口將配置到 firewalld 的默認區域。如果網絡連接使用了不止一個接口,所有的接口都會應用到 fiwewalld。接口名稱的改變也將由 NetworkManager 控制并應用到firewalld。

為了簡化,自此,網絡連接將被用作與區域的關系.

如果一個接口斷開了,NetworkManager也將告訴firewalld從區域中刪除該接口,當firewalld由systemd或者init腳本啟動或者重啟后,firewalld將通知NetworkManager把網絡連接增加到區域.

由腳本控制的網絡

對于由網絡腳本控制的連接有一條限制:沒有守護進程通知 firewalld 將連接增加到區域,這項工作僅在 ifcfg-post 腳本進行,因此,此后對網絡連接的重命名將不能被應用到firewalld,同樣,在連接活動時重啟 firewalld 將導致與其失去關聯,現在有意修復此情況,最簡單的是將全部未配置連接加入默認區域.

區域定義了本區域中防火墻的特性:

使用firewalld,你可以通過圖形界面工具 firewall-config 或者命令行客戶端 firewall-cmd 啟用或者關閉防火墻特性.

使用firewall-cmd

命令行工具 firewall-cmd 支持全部防火墻特性。對于狀態和查詢模式,命令只返回狀態,沒有其他輸出。

一般應用:獲取 firewalld 狀態

firewall-cmd --state

此舉返回 firewalld 的狀態,沒有任何輸出,可以使用以下方式獲得狀態輸出:

firewall-cmd --state && echo "Running" || echo "Not running"

在 Fedora 19 中,狀態輸出比此前直觀:

  1. # rpm -qf $( which firewall-cmd ) 
  2. firewalld-0.3.3-2.fc19.noarch# firewall-cmd --state 
  3. not running 

在不改變狀態的條件下重新加載防火墻:

firewall-cmd --reload

如果你使用–complete-reload,狀態信息將會丟失,這個選項應當僅用于處理防火墻問題時,例如,狀態信息和防火墻規則都正常,但是不能建立任何連接的情況.

獲取支持的區域列表:firewall-cmd --get-zones,這條命令輸出用空格分隔的列表,

獲取所有支持的服務:firewall-cmd --get-services,這條命令輸出用空格分隔的列表。

獲取所有支持的ICMP類型:firewall-cmd --get-icmptypes,這條命令輸出用空格分隔的列表.

列出全部啟用的區域的特性:firewall-cmd --list-all-zones 輸出格式是:

  1. <zone> 
  2.   interfaces: <interface1> .. 
  3.   services: <service1> .. 
  4.   ports: <port1> .. 
  5.   forward-ports: <forward port1> .. 
  6.   icmp-blocks: <icmp type1> .... 

輸出區域 <zone> 全部啟用的特性,如果生略區域,將顯示默認區域的信息.

firewall-cmd [--zone=<zone>] --list-all

獲取默認區域的網絡設置:firewall-cmd --get-default-zone

設置默認區域:firewall-cmd --set-default-zone=<zone>

流入默認區域中配置的接口的新訪問請求將被置入新的默認區域,當前活動的連接將不受影響.

獲取活動的區域:firewall-cmd --get-active-zones

這條命令將用以下格式輸出每個區域所含接口:

<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..

根據接口獲取區域:firewall-cmd --get-zone-of-interface=<interface> 這條命令將輸出接口所屬的區域名稱.

將接口增加到區域:firewall-cmd [--zone=<zone>] --add-interface=<interface>

如果接口不屬于區域,接口將被增加到區域,如果區域被省略了,將使用默認區域,接口在重新加載后將重新應用.

修改接口所屬區域:firewall-cmd [--zone=<zone>] --change-interface=<interface> 這個選項與 –add-interface 選項相似,但是當接口已經存在于另一個區域的時候,該接口將被添加到新的區域。

從區域中刪除一個接口:firewall-cmd [--zone=<zone>] --remove-interface=<interface>

查詢區域中是否包含某接口:firewall-cmd [--zone=<zone>] --query-interface=<interface>

返回接口是否存在于該區域,沒有輸出.

列舉區域中啟用的服務:firewall-cmd [ --zone=<zone> ] --list-services

啟用應急模式阻斷所有網絡連接,以防出現緊急狀況:firewall-cmd --panic-on

禁用應急模式:firewall-cmd --panic-off

應急模式在 0.3.0 版本中發生了變化,在 0.3.0 之前的 FirewallD版本中,panic 選項是 –enable-panic 與 –disable-panic.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安图县| 富宁县| 鹤庆县| 清丰县| 宜昌市| 通榆县| 弥渡县| 孙吴县| 镇康县| 饶阳县| 屏东县| 亚东县| 淮滨县| 新巴尔虎左旗| 龙里县| 富源县| 庄浪县| 嘉鱼县| 太保市| 昆明市| 红桥区| 老河口市| 阿鲁科尔沁旗| 横山县| 修水县| 老河口市| 鹤峰县| 同仁县| 增城市| 克东县| 木里| 龙门县| 福泉市| 霍邱县| 南部县| 阳城县| 屏东县| 株洲市| 右玉县| 长顺县| 湘潭市|