如何在Debian10上使用UFW設置防火牆

步驟1 –安裝UFW
Debian默認不安裝UFW,耍使用apt安裝
$ sudo apt install ufw

第2步-在UFW中使用IPv6
如果您的Debian服務器已啟用IPv6,則需要確保UFW已配置為支持IPv6;否則,請執行以下步驟。 這將確保UFW除了管理IPv4外,還將管理IPv6的防火牆規則。 要進行配置,請使用nano或您喜歡的編輯器打開UFW配置文件/ etc/default/ufw
$ sudo nano /etc/default/ufw
然後確保IPV6的值為yes

IPV6=yes

步驟3 —設置默認策略
默認情況下,UFW設置為拒絕所有傳入連接並允許所有傳出連接。 這意味著嘗試訪問您的服務器的任何人都將無法連接,而服務器中的任何應用程序都將可以訪問外界。要設置UFW使用的默認值,請使用以下命令:

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

步驟4 —允許SSH連接
啟用UFW防火牆後,將拒絕所有傳入連接。 如果你希望服務器允許某些類型的請求,我們將需要創建規則以允許合法傳入連接(例如SSH或HTTP連接)。 如果您使用的是雲服務器,可能需要允許傳入的SSH連接,以便可以連接和管理服務器。
要配置允許傳入的SSH連接,請使用以下命令:

$ sudo ufw allow ssh

以服務端口TCP/UDP新增服方法
如將SSH配置為其他端口,必須指定其他的端口。 如SSH服務器正在監聽端口8888,請使用以下命令允許該端口的連接:

$ sudo ufw allow 8888

步驟5 —啟用UFW
要啟用UFW,請使用以下命令:

$ sudo ufw enable

系統會出現一條警告,指出該命令可能會影響現有的SSH連接。 由於我們已經設置了允許SSH連接的防火牆規則,因此可以繼續。 按y,然後按Enter。
防火牆現在處於活動狀態。 您可以使用ufw status verbose命令以查看您設置的規則。

特定端口範圍
您可以將UFW指定一段的端口範圍。 例如,某些應用程序使用多個端口而不是單個端口。

如要允許使用端口7000-7008的DEP連接,請使用以下命令:

$ sudo ufw allow 7000:7008/tcp
$ sudo ufw allow 7000:7008/udp

特定的IP地址
UFW還可以指定IP地址。 例如,如果要允許來自特定IP地址的連接,例如203.123.123.106的工作或家庭IP地址,則需要指定from,然後指定IP地址,
請使用以下命令:

$ sudo ufw allow from 203.123.123.106

您還可以添加指定的端口跟指定的IP地址才能連接。 例如,指定203.123.123.106才能連接到端口22(SSH),請使用以下命令:

$ sudo ufw allow from 203.0.113.4 to any port 22

子網路
如要允許IP子網路,可以使用CIDR指定網絡掩碼的表示法。 例如,如果要允許所有IP地址從203.123.123.1到203.123.123.254,可以使用以下命令:

$ sudo ufw allow from 203.123.123.0/24

同樣,您也可以指定203.123.123.0/24子網路連接到目標的端口。 同樣,我們以端口22(SSH)為例:

$ sudo ufw allow from 203.123.123.0/24 to any port 22


步驟9 —檢查UFW狀態和規則
您可以隨時使用以下命令檢查UFW的狀態:

$ sudo ufw status verbose

如果UFW被禁用(默認設置),您將看到類似以下內容:

Output
Status: inactive

如果UFW處於活動狀態,輸出將顯示該狀態為活動狀態,並將列出您設置的所有規則。 例如,如果防火牆設置為允許從任何地方進行SSH(端口22)連接,則輸出以下內容:

Output
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere

步驟10 —禁用或重置UFW
如果您決定不想使用UFW,可以使用以下命令將其禁用:

$ sudo ufw disable

您用UFW創建的任何規則將不再有效。 如果以後需要激活它,可以運行sudo ufw enable。

如果已經配置了UFW規則,但是您決定要重新開始,則可以使用reset命令:

$ sudo ufw reset