安装ufw2 e* G3 p8 X8 R( \
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:5 A, M0 A, G% ^# J( V- S
$ Q4 Q1 q" K) x. e) W
# 安装ufw& [$ ^2 s. F, E8 g4 ~
- sudo apt-get update
: b: ?; z6 N9 X% p7 ]8 f - sudo apt-get install ufw
复制代码 - ~& q7 ]" m" m/ {7 M1 C9 c
# 启动ufw+ l1 M3 @9 g0 v2 S7 O6 e* [2 x' |
! p/ V+ [3 k* S. x: n s- R# 设置为开机自启
" b/ t7 F8 m6 c+ @1 f- sudo systemctl enable ufw
复制代码
, _1 {9 m2 F( x8 @% Y执行sudo ufw status查看当前状态,通常有3种状态:" J: z# [* u7 ^3 T
- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。! R$ D4 H0 v) [$ [
- Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
0 p9 p- ]. q' H3 m! j( E - Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码 7 ~/ C) k3 A" C8 h, M
ufw放行端口# E' Z4 ^, K$ a- q- b
ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:( ^7 P' P; u, k- L4 C. i. p
# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。
- \3 k& s9 a; @# O0 K0 l如果需要放行特定协议的端口,我们需要加上协议:
$ G) ]- P0 V& E% O9 b( Q9 j, l# D" c. c# N/ Z. s2 h
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
8 t* }* W; u: X3 `6 s- sudo ufw allow <port>/<protocol>
复制代码 " k! l* Y2 b' _2 x, M8 J2 r% d7 q
放行一个端口范围:
" _& g$ h4 W+ E' F- sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
复制代码
. q/ z' E2 X+ G/ p$ y y! gufw删除已经放行的规则或端口7 H% N0 L a; E1 j- A
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:! |# F- I9 c$ S h0 S$ _* C% H+ H
3 T8 D, @( P8 D; d" O方法1:通过规则号删除3 ^" J+ b7 X, i- ?7 A! K
首先,运行以下命令以查看当前ufw的状态和现有规则:
! _( ~3 V+ ?4 h9 M, K! n# [- t" @9 v/ X" Q" H
这将显示带有编号的规则列表。. x- |5 e0 P. `! Y' T
确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
7 J$ k' z' D7 D0 }- sudo ufw delete [rule_number]
复制代码 # L. s. f$ d. H Y% R1 @
例如,要删除编号为1的规则,运行:$ Y1 k }8 x3 U: p
- ^/ n; V/ ?' r方法2:通过放行条件删除
1 C6 ~& B# r) {; b您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:+ u8 V& n5 _" q6 ?# L9 }3 \/ V& w
- sudo ufw delete allow 80/tcp
复制代码 6 _2 ?. _# q' \4 _
或者,如果要删除允许UDP端口5000的规则,您可以运行:
. G* l A8 b3 I- sudo ufw delete allow 5000/udp
复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。& s* A O* `4 z; B+ X6 o
T( W6 C! H7 \& Z4 j
阻止某个特定的IP
# m( C3 L+ _4 E7 Z @+ v2 n使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:) h" Q3 J) [; _( |; n
- sudo ufw deny from 1.2.3.4
复制代码 O/ k5 F/ D% ~3 i& V
允许特定IP访问特定端口
- w* X0 t5 d' _1 |& W- A使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:2 N- k: y( [$ W% W# M" C
- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码 & b+ o: U( M W, w. Q) a' `& N8 l, e
例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:
6 j1 F) m$ |( g% P$ |- sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码 1 Z! {/ k8 T3 k
|