安装ufw 
/ r$ m0 }9 a4 y在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装: 
9 l0 L" S( |& f. Y( s+ J5 `8 q; Z- F3 t, S  u% F  B  J 
# 安装ufw) [* D* M7 R+ I3 E6 c! t/ f 
- sudo apt-get update
 
" J# ^2 `6 o/ p3 ?: ~ - sudo apt-get install ufw
 
  复制代码 
$ F: O% L' V. f5 f0 s# 启动ufw 
+ Y8 z% y; A/ }, w/ d 
8 Y- G8 B6 A! y7 I# 设置为开机自启) y% Y" W* G. }8 L% p+ C6 s 
- sudo systemctl enable ufw
 
  复制代码 
) X1 w1 `. Q1 b3 F5 \- s执行sudo ufw status查看当前状态,通常有3种状态: 
7 x9 ]& Q& I1 p& i- J2 _) a- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。% u$ u0 s5 K3 A, A# l% P! E& L5 F
 
 - Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。4 K6 p' X5 x# k/ I  ?
 
 - Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
 
  复制代码 1 m; b3 Y0 W& m* e4 O, @ 
ufw放行端口 
+ O6 w' X$ m5 J9 wufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:) v) b% W, U; r$ H 
# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。 
" W% \: D' D) i2 W如果需要放行特定协议的端口,我们需要加上协议: 
- H1 ]4 q5 \/ a) p2 s9 X6 |+ G/ V9 k+ i: ^7 c- V" k  ] 
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。 
0 p0 ?. r* R) I( z- sudo ufw allow <port>/<protocol>
 
  复制代码 & f+ ~7 I0 v6 G5 ^' a% p5 y 
放行一个端口范围: 
% I% F/ C9 a6 v; @7 R! r- sudo ufw allow <start-port>:<end-port>/<protocol>
 
  复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
 
  复制代码 2 U0 O  p' o) ^: h6 s 
ufw删除已经放行的规则或端口 
% U+ }( b6 e) v! K! \* ]' i要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:' X6 l4 V* T& U! ]  m6 W- d/ R! u 
 
8 U% Z! H6 O1 [% H, x3 H方法1:通过规则号删除 
1 h# r4 Y1 q4 ^5 h- V首先,运行以下命令以查看当前ufw的状态和现有规则:" \& x1 D1 z. i* B) Q5 u# ]6 ` 
 
: Z  W7 M+ @) {* q0 p' }  p这将显示带有编号的规则列表。. p5 ?2 S9 f# D& W3 D 
确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号: 
2 K0 R. X7 x& ]' ^$ F1 F- sudo ufw delete [rule_number]
 
  复制代码 8 n% P) S3 s0 r7 z. v 
例如,要删除编号为1的规则,运行: 
. G2 Q% [0 R/ ]' Y# f 
/ A* Z5 L1 q7 h. b4 i- a% [$ N方法2:通过放行条件删除 
9 u8 ]+ r" e& B0 h您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:  M* S6 c: M- q; H7 {- o3 E' Z9 H 
- sudo ufw delete allow 80/tcp
 
  复制代码 
6 j% x' s! d4 ^! f+ L或者,如果要删除允许UDP端口5000的规则,您可以运行:5 U8 x" J" ]! i$ S 
- sudo ufw delete allow 5000/udp
 
  复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。 
8 k9 f6 [5 K! V) e: S  }% ?% @) B/ m1 i" b* H$ r 
阻止某个特定的IP 
  v9 ?* R. B0 }' e& o! M" _" T使用以下命令阻止来自特定IP(例如1.2.3.4)的连接: 
7 v9 c/ N7 I- K" g- sudo ufw deny from 1.2.3.4
 
  复制代码 " c# z! x% G% d% r' z 
允许特定IP访问特定端口 
8 Z) `. X  B7 q. e. H) Y使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:' @" ]4 o3 M& w  B 
- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
 
  复制代码 
* u; O$ r8 }: }- l: x8 c1 ~例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:# N. N- i) I! M2 w5 F' B 
- sudo ufw allow from 1.2.3.4 to any port 22/tcp
 
  复制代码 
0 Q+ [  b9 @) c* M6 |5 I |