安装ufw! Z. ~, O0 Z) u! B% g7 d* `5 q% o
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:5 |5 e1 ?' R9 {, [
; X8 i1 p5 p) `0 f9 A# 安装ufw5 t# c: g6 g% _! a5 ?
- sudo apt-get update
; F) {2 Y% E+ v) V! G - sudo apt-get install ufw
复制代码
$ m9 O. y# [# R0 A/ [# 启动ufw
! q3 Z& H/ ?7 ?- b" g7 l& e2 A h$ B6 H, l. @* c
# 设置为开机自启4 m2 a4 A" h* _. L' `
- sudo systemctl enable ufw
复制代码
% @" M# \" t. i# |: `1 J执行sudo ufw status查看当前状态,通常有3种状态:
0 R2 _" n$ b. E0 V% }: M- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
+ A' y$ I. A9 s. _ - Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。0 F8 Z9 [ e' y
- Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码 ! F6 Q6 S% f9 G# P1 w
ufw放行端口
) I4 Y2 z) D' i6 C) u# n2 pufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:
c! N9 U7 ?5 \# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。
; y$ z; G, A/ _% W5 G4 l; U7 u0 }如果需要放行特定协议的端口,我们需要加上协议:7 X+ V: r8 d4 j6 r- x5 m
0 z+ o: b3 r3 `& v5 ~
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
* R9 F. O, f+ T6 x- sudo ufw allow <port>/<protocol>
复制代码 8 B) z" P( I1 s( y, {# a* m6 B. _& k) n
放行一个端口范围: G9 B3 M) s2 E M- x
- sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
复制代码
# p, n& H$ p* X H1 Mufw删除已经放行的规则或端口
$ V* y' O2 s4 P6 J要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
r/ y& a2 y. `
8 x* k" f7 \: b7 O方法1:通过规则号删除
# n2 }3 T: i3 q1 j首先,运行以下命令以查看当前ufw的状态和现有规则:
$ {) f3 Q9 s$ o/ h
, x5 C+ L( i0 u' K$ q这将显示带有编号的规则列表。1 Z. {7 J! h# E
确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
8 f2 c% K/ ^% L- sudo ufw delete [rule_number]
复制代码
0 V! Z7 w' \& Z- m& ?例如,要删除编号为1的规则,运行:
( d! h" d b8 p7 K0 e* A% Z
. ^+ [3 u8 N, Z9 S方法2:通过放行条件删除$ e8 ~) d" V+ J" B4 D
您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:
' @" b4 u5 v( s& ~- sudo ufw delete allow 80/tcp
复制代码 8 l. j- f6 i- H. R! Z3 Y
或者,如果要删除允许UDP端口5000的规则,您可以运行:
w5 T4 w' v$ P9 ~# q- sudo ufw delete allow 5000/udp
复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。. ~$ w! G" D. O0 A4 ~' P" H
$ a/ @5 a- ^2 u4 w
阻止某个特定的IP6 @7 r$ n/ o( h! P" }
使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
# ?6 x. {- P! K" u( r! I- sudo ufw deny from 1.2.3.4
复制代码
, a0 k D/ B2 @2 F* j4 q允许特定IP访问特定端口
5 }0 |9 C- x* |% T! K使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:$ A! z" C5 w$ Q& D, c
- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码 - b& |; J- z6 C/ |2 S' y
例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:
( B1 V o$ l ~# A1 ]3 y2 ?- sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码
3 d: ^7 y! e3 G" y& W |