Ubuntu 18.04上使用UFW設置防火牆:安裝、狀態、啟用、關閉
轉 http://biji.gauin.com/ubuntu-18-04-ufw.html
確保登錄root權限賬號
安裝命令
sudo apt install ufw
檢查UFW狀態命令
sudo ufw status verbose
UFW在默認情況下是禁用的,如果您剛剛安裝或從未激活過UFW,則輸出如下所示:
輸出
Status: inactive
如果UFW被激活,輸出將如下所示:
狀態:激活
日志: on (low)
默認:deny (incoming), allow (outgoing), disabled (routed)
新建配置文件: skip
至 動作 來自
– — —
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
UFW默認策略
默認策略在/etc/default/ufw文件中定義,可以使用sudo ufw default <policy> <chain>
請勿修改默認策略配置文件
允許SSH連接 默認端口22
請鍵入以下命令:
sudo ufw allow ssh
如果ssh登錄端口不是22,是自定義xx數字,請輸入命令
sudo ufw allow xx數字/tcp
啟用UFW
確保UFW防火牆已配置為允許傳入SSH連接,繼續啟用UFW,輸入命令
sudo ufw enable
在系統啟動時啟用和激活防火牆
輸出:
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
您將被警告啟用防火牆可能會破壞現有的ssh連接,只需鍵入y並按Enter鍵。
允許其他端口上的連接
打開端口80 – HTTP
使用以下命令可以允許HTTP連接:
sudo ufw allow http
你可以使用端口號80而不是http:
sudo ufw allow 80/tcp
打開端口443 – HTTPS
使用以下命令可以允許HTTP連接:
sudo ufw allow https
要實現相同而不是https,您可以使用端口號443:
sudo ufw allow 443/tcp
打開端口8080
如果運行Tomcat或在端口8080上偵聽的任何其他應用程序以允許傳入連接,請輸入:
sudo ufw allow 8080/tcp
允許端口范圍
UFW允許我們允許訪問端口范圍,而不是允許訪問單個端口。 使用UFW允許端口范圍時,您必須指定協議,即tcp或udp。 例如,如果要允許tcp和udp上的端口從8000到8100,則運行以下命令:
sudo ufw allow 8000:8100/tcp
sudo ufw allow 8000:8100/udp
允許特定的IP地址
如果您希望允許您的家庭計算機上的所有端口使用IP地址55.56.57.58訪問,則需要在IP地址之前指定:
sudo ufw allow from 55.56.57.58允許特定端口上的特定IP地址
要允許在特定端口上訪問,可以使用IP地址為55.56.57.58的工作機器上的端口22,然后您需要指定IP地址后面的任何端口和端口號:
sudo ufw allow from 55.56.57.58 to any port 22
刪除UFW規則
有兩種不同的方法可以通過規則編號和指定實際規則來刪除UFW規則。
使用以下命令執行此操作:
sudo ufw status numbered
狀態: 激活
至 動作 來自
– — —
[ 1] Nginx Full ALLOW IN Anywhere
[ 2] 22/tcp ALLOW IN Anywhere
[ 3] 5522/tcp ALLOW IN Anywhere
[ 4] 80/tcp ALLOW IN Anywhere
[ 5] Nginx HTTP ALLOW IN Anywhere
[ 6] 443/tcp ALLOW IN Anywhere
[ 7] Nginx HTTPS ALLOW IN Anywhere
[ 8] 8080/tcp ALLOW IN Anywhere
[ 9] Nginx Full (v6) ALLOW IN Anywhere (v6)
[10] 22/tcp (v6) ALLOW IN Anywhere (v6)
[11] 5522/tcp (v6) ALLOW IN Anywhere (v6)
[12] 80/tcp (v6) ALLOW IN Anywhere (v6)
[13] Nginx HTTP (v6) ALLOW IN Anywhere (v6)
[14] 443/tcp (v6) ALLOW IN Anywhere (v6)
[15] Nginx HTTPS (v6) ALLOW IN Anywhere (v6)
[16] 8080/tcp (v6) ALLOW IN Anywhere (v6)
要刪除規則編號3,允許連接到端口8080的規則,可以使用以下命令:
sudo ufw delete 2
第二種方法是通過指定實際規則來刪除規則,例如,如果您添加了一條規則以打開端口8168,則可以使用以下規則將其刪除:
sudo ufw delete allow 8168
禁用UFW
如果因任何原因想停止UFW並停用您可以使用的所有規則:
sudo ufw disable
稍后如果您想要重新啟用UTF並激活所有規則,請輸入:
sudo ufw enable
重置UFW
重置UFW將禁用UFW,並刪除所有活動規則。
要重置UFW,只需輸入以下命令:
sudo ufw reset
詳細配置參考
https://www.linuxidc.com/Linux/2018-06/152881.htm