| 安装ufw 1 C$ o/ y( h# c$ M" e! o4 b; {在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:
 $ v7 Z& F' G- `9 g& ^) P2 q$ w0 A5 q
 # 安装ufw
 1 ^* j4 l* A9 X% P+ ?0 M
 9 \& p9 Y+ @* L5 R& F复制代码sudo apt-get update0 M5 G& c: N8 P
sudo apt-get install ufw
# 启动ufw
 ; |+ I' p4 |2 Y% }  _
 " V! ~+ T. V# ^7 X# 设置为开机自启2 s: b5 c, \7 ~# P" \/ X/ U  c
 
 复制代码sudo systemctl enable ufw
! d  [8 w4 Z0 g( ~( M& L1 E9 {执行sudo ufw status查看当前状态,通常有3种状态:
 0 N" y$ g9 h% x8 W
 复制代码Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。1 N* c) ]* x3 x4 F! p- E9 P
Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。# |& z& M9 O  P8 g+ o
Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
, F! W; w) V7 X( K* T! Eufw放行端口4 T, O: L9 A0 L3 S2 T6 l! J' r  R
 ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:/ \3 R, _/ s* R: l& v8 {' t
 # 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。; H9 l  e" B# R0 ?, Q
 如果需要放行特定协议的端口,我们需要加上协议:" q  ]. M3 i" M) S
 & O; z# ^3 t* j2 j1 V! n  x
 # 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。" m2 A9 c  b7 t5 N3 v
 
 复制代码sudo ufw allow <port>/<protocol>
/ f$ m6 @" d: A& h放行一个端口范围:; z' r  D. @+ J
 
 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行复制代码sudo ufw allow <start-port>:<end-port>/<protocol>
( j& e' M5 ^8 j复制代码sudo ufw allow 8000:9000/tcp
ufw删除已经放行的规则或端口
 3 {( p( o: M4 \3 ]0 o) `( P3 V$ p要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
 / [7 v) c2 ?* |# h. E0 }0 P3 ]' t) m1 S8 O4 s
 方法1:通过规则号删除% L# ?5 b, U6 p3 M: m. X  n
 首先,运行以下命令以查看当前ufw的状态和现有规则:* u) }. C+ J: z
 
 # }4 k$ F! r7 D2 O1 B2 C- W这将显示带有编号的规则列表。( _! q5 @7 H+ K* q& e
 确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
 8 V1 u+ Y: B, S( T1 M# m
 5 k, S7 I& V& e# \( e) p复制代码sudo ufw delete [rule_number]
例如,要删除编号为1的规则,运行:, j6 p' b0 S' @9 y
 
 5 n  Y9 X7 t! t/ D方法2:通过放行条件删除
 + K4 f8 C5 \1 Z/ ?" d您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:' |& R* a7 {9 e8 r2 a
 
 $ S1 D9 p6 j; P* ^- P: K. Z复制代码sudo ufw delete allow 80/tcp
或者,如果要删除允许UDP端口5000的规则,您可以运行:
 , j2 |/ Q9 T  A, W$ R! q- S; [
 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。/ d; g. y! z' K/ b复制代码sudo ufw delete allow 5000/udp
( Q  _/ h- F% n8 q4 n8 d$ e
 阻止某个特定的IP  D# Q  T4 E0 a
 使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:. L, U% r( U# h% g- p3 S+ p( w
 
 复制代码sudo ufw deny from 1.2.3.4
% X* T# ^. S- u  {3 O允许特定IP访问特定端口$ p. _" C1 x& ^5 U
 使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:
 * o7 f  g2 l% k4 c" B6 `: q
 复制代码sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
; g6 f( `( C8 w5 Z例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:
 7 d) a5 f6 a% B# t
 2 e; j7 K4 A; W0 K; f复制代码sudo ufw allow from 1.2.3.4 to any port 22/tcp
 |