Ubuntu 下使用 UFW 管理防火牆服務

2021-08-02 06:23:21 字數 4408 閱讀 9254

防火牆是計算機中一款應用軟體或基於硬體的網路安全系統。它根據應用配置的規則,分析資料報,然後決定是否允許此資料報通過,來控制整個系統的網路資料進出訪問許可權。iptables 是一款廣泛使用於伺服器的防火牆。它是一款應用程式,它會根據一系列規則來管理伺服器上的進出資料流。一般來說,只有可信任的連線才允許進入伺服器。但 iptables 是在控制台模式下執行,它非常的複雜。不熟悉 iptables 配置規則和命令的使用者可以讀讀下面的文章,它描述了如何使用iptables防火牆。為了降低 iptables 設定的複雜度,有許多對應的前端應用。如果你執行的是 ubuntu linux 系統的話, ufw 就是一款預設的防火牆工具。
ubuntu 下使用 ufw 管理防火牆服務

什麼是 ufw

ufw (簡單的防火牆) 是廣泛使用的 iptables 防火牆 的前端應用,這是非常適合於基於主機的防火牆。ufw 即提供了一套管理網路過濾器的框架,又提供了控制防火牆的命令列介面介面。它給那些不熟悉防火牆概念的 linux 新使用者提供了友好、易使用的使用者介面。

同時,另一方面,它也提供了命令列介面,為系統管理員準備了一套複雜的命令,用來設定複雜的防火牆規則。ufw 對像 debian、ubuntu 和 linux mint 這些發布版本來說也是上上之選。

ufw 基本用法

首先,用如下命令來檢查下系統上是否已經安裝了 ufw 。
$ sudo dpkg --get-selections | grep ufw
如還沒有安裝,可以使用 apt 命令來安裝,如下所示:
$ sudo apt-get install ufw
在使用前,你應該檢查下 ufw 是否已經在執行。用下面的命令來檢查。
$ sudo ufw status
如果你發現狀態是: inactive , 意思是沒有被啟用或不起作用。

啟用/禁用 ufw

要啟用它,你只需在終端下鍵入如下命令:

$ sudo ufw enable

在系統啟動時啟用和啟用防火牆

要禁用,只需輸入:

$ sudo ufw disable
列出當前ufw規則

在防火牆被啟用後,你可以向裡面新增你自己的規則。如果你想看看預設的規則,可以輸入。

$ sudo ufw status verbose
輸出樣例:
新增ufw規則

如你所見,預設是不允許所有外部訪問連線的。如果你想遠端連線你的機器,就得開放相應的埠。
允許訪問

例如,你想用 ssh 來連線,下面是新增的命令。
$ sudo ufw allow ssh
再一次檢查狀態,會看到如下的一些輸出。
$ sudo ufw status
$ sudo ufw status numbered
$ sudo ufw allow ssh/tcp
拒絕訪問

新增拒絕規則也是同樣的招數。我們假設你想拒絕 ftp 訪問, 你只需輸入
$ sudo ufw deny ftp
$ sudo ufw allow 2290/ssh (譯者注:些處演示例子有問題)
$ sudo ufw allow 2290:2300/tcp
$ sudo ufw allow 2290:2300/udp
$ sudo ufw allow from 192.168.0.104
你也可以使用子網掩碼來擴寬範圍。
$ sudo ufw allow form 192.168.0.0/24
$ sudo ufw allow to

any port 22

上面的命令會允許從任何地方以及任何協議都可以訪問22埠。

組合引數

對於更具體的規則,你也可以把 ip 位址、協議和埠這些組合在一起用。我們想建立一條規則,限制僅僅來自於 192.168.0.104 的 ip ,而且只能使用 tcp 協議和通過 22埠 來訪問本地資源。我們可以用如下所示的命令。

$ sudo ufw allow from

192.168

.0.104 proto tcp to

any port 22

建立拒絕規則的命令和允許的規則類似,僅需要把 allow 引數換成 deny 引數就可以。
刪除規則

某些時候需要刪除現有的規則。再一次使用 ufw 刪除規則是很簡單的。在上面的示例中,已經建立了如下的規則,現在你想刪除它們。
刪除規則有兩個方法。

方法1

下面的命令將會 刪除 與 ftp 相關的規則。所以像 21/tcp 這條 ftp 預設訪問埠的規則將會被刪除掉。

$ sudo ufw delete allow ftp
方法2

但當你使用如下命令來刪除上面例子中的規則時,

$ sudo ufw delete allow ssh

或者$ sudo ufw delete allow 22/tcp

會出現如下所示的一些錯誤
$ sudo ufw status numbered
$ sudo ufw delete 1
deleting :

allow from

192.168

.0.104

toany port 22 proto tcp

proceed with operation (y|n)? y

從這些用法中你就可以發現它們的不同。 方法2 在刪除前需要 使用者確認 ,而 方法1 不需要。
重置所有規則

某些情況下,你也許需要 刪除/重置 所有的規則。可以輸入。
$ sudo ufw reset
resetting all rules to installed defaults. proceed with operation (y|n)? y
如果你輸入「 y 」, ufw 在重置你的 ufw 前會備份所有已經存在規則,然後重置。重置操作也會使你的防火牆處於不可用狀態,如果你想使用得再一次啟用它。
高階功能

正如我上面所說,ufw防火牆能夠做到iptables可以做到的一切。這是通過一些規則檔案來完成的,他們只不過是 iptables-restore 所對應的文字檔案而已。是否可以通過 ufw 命令微調 ufw 的與/或邏輯來增加 iptables 命令其實就是編輯幾個文字檔案的事。

/etc/default/ufw: 預設策略的主配置檔案,支援 ipv6 和 核心模組。

/etc/ufw/before[6].rules: 通過 ufw 命令新增進規則之前裡面存在的規則會首先計算。

/etc/ufw/after[6].rules: 通過 ufw 命令新增進規則之後裡面存在的規則會進行計算。

/etc/ufw/sysctl.conf: 核心網路可調引數。

/etc/ufw/ufw.conf: 設定系統啟動時 ufw 是否可用,和設定日誌級別。

結論

ufw 作為 iptables 的前端應用,給使用者提供了簡單的介面介面。使用著不需要去記非常複雜的 iptables 語法。ufw 也使用了『 簡單英語 』作為它的引數。

Ubuntu使用Ufw管理防火牆

ufw是基於iptable的,是為了更加方便的配置和管理防火牆而設計的。系統一般會預設安裝ufw,如果沒有安裝,可以使用如下命令進行安裝 sudo apt get install ufwufw dry run enable disable reload reset 引數解釋 dry run 不實際執...

ubuntu20 04防火牆ufw使用

安裝 一般預設已經安裝,如果沒有,可以通過以下命令安裝 sudo apt update sudo apt install ufw檢查防火牆是否啟動 sudo ufw status verbosestatus inactive 未啟用 status active 啟用3.啟用 sudo ufw ena...

Ubuntu下磁碟管理

終端命令輸入 dev sd sdb和sdb1是sd卡的裝置檔案,sdb表示sd卡,sdb1表示sd卡的第乙個分割槽 補充 一 磁碟掛載和解除安裝 mount 掛載 和umount 解除安裝 的用法 主要是兩個檔案目錄dev和 media hnb sd 步驟 將sd卡啟動解鎖,這樣保證之前的資料依然掛...