Linux下雙網卡Firewalld的配置流程(推薦)

發布時間:2020-02-05 21:32 來源:互聯網 當前欄目:網站服務器

實驗室擬態存儲的項目需要通過LVS-NAT模式通過LVS服務器來區隔內外網的服務,所以安全防護的重心則落在了LVS服務器之上。筆者最終選擇通過firewalld放行端口的方式來實現需求,由于firewall與傳統Linux使用的iptable工具有不小的區別,接下來通過博客來記錄一下firewalld的配置流程。

1.Firewall服務的簡介:

firewalld提供了一個 動態管理的防火墻,用以支持不同網絡區域的規則,分配對一個網絡及其相關鏈接和界面一定程度的信任。它具備對 IPv4 和 IPv6 防火墻設置的支持。它支持以太網橋,并有分離運行時間和永久性配置選擇。它還具備一個通向服務或者應用程序以直接增加防火墻規則的接口。

上述內容是來自RetHat官方文檔的說明,看起來不知所云。所以筆者在這里簡單介紹一下firewalld的定位與傳統的iptable存在什么樣的不同:

動態防火墻

firewalld 提供的是動態的防火墻服務。配置的改變可以隨時隨地立刻執行,不再需要保存或者執行這些改變。而iptable的部分,每一個單獨更改意味著要清除所有舊有的規則和從 里讀取所有新的規則,相對來說firewalld的方式會更加靈活。

區域隔離

firewalld 提供了區域隔離的服務,也就是說類似于window之中的公共網絡與內部網絡的區別,可以通過不同的區域的配置對應的規則來實現不同的網絡規則服務。通過區域規則的方式,可以讓防火墻的工作更加的靈活。

如圖所示,firewalld的防火墻本質上是建立在原生的iptable防火墻之上的抽象層,通過定制規則的方式來利用iptable的功能,所以兩個防火墻是上下級并行工作的關系,最終都需要落地到內核之中的netfilter來實現網絡包的過濾,來簡化防火墻的工作流程。(傳統iptable的“四表五鏈”實在是有夠復雜~~囧rz)


2.系統環境:

如下圖所示,這里需要在LVS的服務器需要部署firewall的防火墻,這里筆者僅簡要梳理一下一臺LVS服務器的工作:


系統平臺:Centos 7

LVS服務器: 雙網卡

外網地址:219.223.199.154 內網地址:192.168.1.17

對外服務器:

服務器A:192.168.1.11 服務器B:192.168.1.14

在這里,外網地址之上需要開放的端口為10086端口,通過該端口進行轉發。而內網地址之上并不設置限制,我們認為是安全的網絡環境。

3.配置流程:

Firewalld的配置可通過三種方式:

firewall-config

一個圖形化的用戶接口的配置工具

firewall-cmd

一個命令行的用戶接口的配置工具

靜態xml文件配置

firewalld 的配置設定存儲在/etc/firewalld/ 目錄下的 xml 文件里。可以通過查看和編輯這些 xml 文件,來實現firewall的配置。

之后筆者的配置流程主要是基于firewall-cmd命令展開,首先啟動firewall服務:

systemctl start firewalld.service //啟動firewalld服務

接下來,開放外網網卡的對應的TCP端口,這里筆者選擇public區域,也就是雙網卡同時開放端口。

firewall-cmd --zone=public --add-port=10086/tcp --permanent

該命令的配置了public區域添加10086的端口,后續的參數--permannet則代表永久添加。也就是一次寫入,后續重啟之后依然生效。在firewall之中支持如下不同的區域區隔與過濾規則,之后不同的配置可以參考下面的內容:

區域

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、