安裝設定#
安裝:
apt install ufw
安裝 UFW 後,預設狀態為 inactive。IPv6 是預設支援的,出站預設規則為 ACCEPT,入站和轉發預設規則都是 DROP。通常這就是我們想要的。這裡我們首先將 ssh 連接埠開放,否則在啟用之後,會把我們自己關在門外。
執行:
sudo ufw allow ssh
UFW 會生成關於 22 連接埠的兩條規則,一個是 IPv4 的,一個是 IPv6 的。如果你的 ssh 監聽連接埠不是 22,直接 allow 連接埠號就好,比如 allow 22222,所不同的是,allow ssh 會確定是 TCP,而 allow 連接埠會添加 TCP 和 UDP 兩條規則。
這個時候,啟用 UFW:
ufw enable
這個時候,再看一下 UFW 狀態:
ufw status verbose
可以看到 UFW 已經啟用,預設的入站是 deny,出站全部允許,無轉發。
查看路由#
iptables -t nat -vnL
常用規則命令#
查看防火牆當前狀態#
ufw status
開啟防火牆#
ufw enable
關閉防火牆#
ufw disable
查看防火牆版本#
ufw version
預設允許外部訪問本機#
ufw default allow
預設拒絕外部訪問主機#
ufw default deny
允許外部訪問 53 連接埠#
ufw allow 53
拒絕外部訪問 53 連接埠#
ufw deny 53
允許某個 IP 地址訪問本機所有連接埠#
ufw allow from 192.168.0.1
允許指定連接埠 TCP 協議#
ufw allow 80/tcp
允許指定連接埠 UDP 協議#
ufw allow 80/udp
不允許指定連接埠 TCP 協議#
ufw delete allow 80/tcp
不允許指定連接埠 UDP 協議#
ufw delete allow 80/udp
拒絕所有傳入並允許所有傳出連線#
ufw default allow outgoing
ufw default deny incoming
大多數系統只需要打開少量的連接埠接受傳入連線,並且關閉所有剩餘的連接埠。從一個簡單的規則基礎開始,ufw default 命令可以用於設定對傳入和傳出連線的預設響應動作。ufw default 也允許使用 reject 參數。
警告:除非明確設定允許規則,否則配置預設 deny 或 reject 規則會鎖定你的伺服器。確保在應用預設 deny 或 reject 規則之前,已按照下面的部分配置了 SSH 和其他關鍵服務的允許規則。
高級規則命令:#
除了基於連接埠的允許或阻止,UFW 還允許您按照 IP 地址、子網和 IP 地址 / 子網 / 連接埠的組合來允許 / 阻止。
允許從一個 IP 地址連線#
ufw allow from 123.45.67.89
允許特定子網的連線#
ufw allow from 123.45.67.89/24
允許特定 IP/ 連接埠的組合#
ufw allow from 123.45.67.89 to any port 22 proto tcp
proto tcp 可以刪除或者根據你的需求改成 proto udp,所有例子的 allow 都可以根據需要變成 deny。