安装ufw# T2 F( u# \" Z7 w9 J0 K6 Q
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:9 |5 |2 T- t0 P% F6 f9 B
. T3 j) T4 K6 z/ ]0 [# 安装ufw
: F, |! c6 c2 u5 n( k: g) [- sudo apt-get update O- D. S' T, a9 M) l
- sudo apt-get install ufw
复制代码
' y) R! O" {( K# 启动ufw# t4 Y. r) Y' H
- U2 B* s& [: @9 c0 z5 {
# 设置为开机自启- R2 S* Z9 f3 K# ]2 Z
- sudo systemctl enable ufw
复制代码 ; n( ?7 Z F4 {" [' L
执行sudo ufw status查看当前状态,通常有3种状态:& C) y& a/ |1 b) T" x8 u
- Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
5 J4 o2 E: n/ U' i; T - Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
2 _7 Y* e9 a4 }: T - Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码
# ~! t$ H( Z$ b& B% V- Kufw放行端口# I# I A% u; S% J' ]' b3 H6 t
ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:5 h; y- |0 ~! B2 |' \
# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。, J7 Q7 k6 h5 @/ P
如果需要放行特定协议的端口,我们需要加上协议: G0 u/ S8 Q% c& k( q
# \9 \# V+ _) Y2 ^6 d# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
, p4 G v& V) `- sudo ufw allow <port>/<protocol>
复制代码
& X- G* x7 p+ ]3 U* s放行一个端口范围:* e$ ]3 P& I' z3 X) K) k
- sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码 将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行- sudo ufw allow 8000:9000/tcp
复制代码
& Y* B' S0 ~0 e$ m( jufw删除已经放行的规则或端口* E4 `! a* b' T, g; k: C1 ~
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:* u' t- u( S2 z y+ \( \3 k5 v& D
- N; \% Q# q6 W方法1:通过规则号删除
6 s0 k. v2 _4 V3 K p首先,运行以下命令以查看当前ufw的状态和现有规则:0 r2 N& i, j8 j) A( T' b
5 W, b6 G; s3 w* K) b这将显示带有编号的规则列表。
+ p; a% o7 D* P5 ~2 d. e确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
* @0 d' m9 w# {4 z5 E% Q% s- sudo ufw delete [rule_number]
复制代码
( L& ^; F2 M& _% V7 H3 x/ M% f. V9 P例如,要删除编号为1的规则,运行:
4 ?& a' @9 m; b& Z: c6 j- B& b" _1 w6 q" L
方法2:通过放行条件删除9 N$ C0 c: I% G! v0 S* G
您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:6 ^) x/ W3 S, j
- sudo ufw delete allow 80/tcp
复制代码
- s* Q3 R" x0 X2 W5 [或者,如果要删除允许UDP端口5000的规则,您可以运行:9 I1 H3 j' y p4 Y/ h0 p' J% `+ x
- sudo ufw delete allow 5000/udp
复制代码 删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。0 q+ y$ W* B, h) O; m/ e
6 E. }9 V9 x1 z8 z! h5 a! n
阻止某个特定的IP7 v( p; Z0 p, e, H. ^8 X6 g
使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
: L- G+ | A7 z" ^& R: m. A- sudo ufw deny from 1.2.3.4
复制代码
( D/ o+ j0 |, s3 \2 h允许特定IP访问特定端口
: E" K+ u* I: j: J a使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:
" _$ T7 B, a/ h w* k3 |8 T: p- R- sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码
( z5 l+ D7 \( p例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:- X5 T! z' l6 ?6 b# w4 \7 k# P
- sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码
; V9 R8 `( F5 u, K0 \6 y |