安装ufw5 W+ g9 H3 y! D9 c) r9 k/ t
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:
" E! @' n; ~9 B- z, M; W
+ y; q) M* R8 T! l/ j( v7 k# 安装ufw# L* e8 U# P' A5 W
- sudo apt-get update3 [/ w" U# J3 S1 ?$ A) N( O
- sudo apt-get install ufw
复制代码
5 W0 W/ l5 ]0 K D# 启动ufw7 P9 f0 X9 `8 k% ~
5 [( w8 M' a+ Q1 R, e# 设置为开机自启( I/ U3 V; b; F/ `8 p
- sudo systemctl enable ufw
复制代码
3 M" v8 k0 Q# {/ p3 B+ g执行sudo ufw status查看当前状态,通常有3种状态:8 q6 H+ Q* n" [; p" _
- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
5 r. `7 ^2 X! Y( E2 y - Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。 E! X8 i2 r! M) u$ ^; @- z
- Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码 8 t+ _% Z8 @/ f _( t
ufw放行端口
8 `1 |8 } `* aufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:
' T! G- I6 ~$ I2 w+ e# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。1 I% G% k8 v6 g6 @' j, {
如果需要放行特定协议的端口,我们需要加上协议: Y: ?* O# k T* {" \0 X0 B6 \1 l
0 J2 U0 a0 y7 S$ o# P
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
0 y6 ^8 D, P5 z7 m) k- sudo ufw allow <port>/<protocol>
复制代码 # ]. \8 P7 Z; l5 O" I$ ] p* C# l
放行一个端口范围:
0 D- T7 T; m: _% z# {* J# p3 I3 d- sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
复制代码 7 W8 z D6 v8 f+ C
ufw删除已经放行的规则或端口. p. @5 y+ `4 o+ D8 p6 h# c- I
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
. f% e E' v9 ~8 P6 }' t1 u
; }0 {) c2 `3 t% K& B9 a方法1:通过规则号删除8 N" C! m6 G7 C3 \0 H' [" F
首先,运行以下命令以查看当前ufw的状态和现有规则:
4 ?" w1 X4 n" `" g
& k m( b' J5 N7 s" ?* s& S这将显示带有编号的规则列表。
3 g2 ?/ L+ P- U- a8 J确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:9 q% X/ C0 C, F
- sudo ufw delete [rule_number]
复制代码
8 e0 U7 i$ ]# G7 i6 u; r例如,要删除编号为1的规则,运行:
H' A( i5 w+ q- g5 L% L
% N* j4 O+ p$ o3 h! e4 P+ p: g/ H6 H方法2:通过放行条件删除
; @4 o D, L$ ^" f3 l您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:+ {4 X. I/ |, O- \3 c+ [
- sudo ufw delete allow 80/tcp
复制代码
% d2 Q0 W) D7 N# ?或者,如果要删除允许UDP端口5000的规则,您可以运行:1 z+ x$ K3 P* {% T* u6 E. r
- sudo ufw delete allow 5000/udp
复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。
* ~8 v" `0 n5 } [ t- N! a' [; M. | O. W. l1 U, m" U
阻止某个特定的IP
' @5 ^! G( Z0 ^: @9 k% \3 ~使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
" y) `: w5 H) L7 {- sudo ufw deny from 1.2.3.4
复制代码
/ l {4 g9 S0 t; [允许特定IP访问特定端口
) \* L& q) R% }; n使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:
6 }" d X! W" D6 t g. q0 B- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码
8 L& u, K% T D5 C2 F. g' y8 i例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:
8 r; D$ A8 e& t* a$ f3 z5 \- S- sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码 + S6 ^8 H) {* a
|