安装ufw! l2 W$ a& F" g- z _) ^4 T
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:
8 [8 c: [" z* \5 u% D
+ a' T3 Y$ V+ z6 ]! i/ g# 安装ufw0 e0 |# j1 ?" @2 X9 s
- sudo apt-get update$ _1 s6 Y( _& q' f$ j J
- sudo apt-get install ufw
复制代码
0 @0 f, j2 Q( `! g# 启动ufw4 H! I' T: w) E7 h
7 E+ U9 @+ t+ f8 t; Q
# 设置为开机自启3 X7 n+ Y) L& j, Y- T [
- sudo systemctl enable ufw
复制代码
4 R4 |$ `# _+ U& @5 H, }3 H执行sudo ufw status查看当前状态,通常有3种状态:* z! h2 t% H, u
- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。' y$ W: V. N, N& G
- Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
6 U3 P/ V' C% r/ ~+ z" B - Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码 5 t, T$ G9 N0 P K/ q: y* _! y' H
ufw放行端口
3 \6 r; ? e- Y" vufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:5 @8 a& b3 s* E, n% ^! }
# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。
& e, ~1 D, r" l, \& d- t, n2 _: J" F如果需要放行特定协议的端口,我们需要加上协议:. U. Z3 j1 h% q/ N/ w, j1 d: c$ D
+ Q l0 V2 Q/ p! A# C# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。) S5 q! |5 R. h# I
- sudo ufw allow <port>/<protocol>
复制代码
$ H1 W$ C+ V" o0 F; ^, P% Q放行一个端口范围:
7 L" C8 {; [% v" g! f- sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
复制代码 ; S" p2 V) I) x: s5 A# W
ufw删除已经放行的规则或端口
! ^( {' m$ [' f要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
* `3 `4 A i7 o! F; s
* j9 Q2 l+ w$ ?: Q" S b w方法1:通过规则号删除" @6 F2 ?( n& U% O8 I
首先,运行以下命令以查看当前ufw的状态和现有规则:
' u8 C3 ^ }3 Y% F" v4 R, x: U8 ~% t
这将显示带有编号的规则列表。) _: |! J+ U p2 S! L- H' {/ ?
确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
/ `1 S: V p6 F; V$ G8 O; S6 t- sudo ufw delete [rule_number]
复制代码
8 x: d6 P1 {. _- q: D0 s例如,要删除编号为1的规则,运行:
; D6 v2 R7 Y. ?8 t5 {
* ^6 E+ c: e) }# _方法2:通过放行条件删除
7 w1 ]9 N4 ~7 L3 D# D# W/ s- B您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:
( W, `3 D" G1 j- sudo ufw delete allow 80/tcp
复制代码 ' O' ?# e3 {, o% }3 b/ l
或者,如果要删除允许UDP端口5000的规则,您可以运行:
6 V) }. b3 O. b' X- sudo ufw delete allow 5000/udp
复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。
0 L1 a8 F& Q- ]' T5 U1 O* ~5 y( Q( o$ x" S) A3 v5 O0 h
阻止某个特定的IP# V$ K5 E# y/ Y* V& r
使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
' i5 j1 y o; e$ p- H- sudo ufw deny from 1.2.3.4
复制代码 ' _- s" h' S* h2 G6 f" e
允许特定IP访问特定端口& Q' B) V9 v& ]6 M( c
使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:4 v; j5 _$ ]9 D
- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码 2 @% K3 C5 a8 y
例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:
5 k$ _$ U5 ^: Z+ p" q* \% y% Z- sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码 ; z W+ J0 U( U$ P' p! u
|