找回密码
 立即注册
搜索
查看: 73|回复: 0

[软件] UFW 入门:常见防火墙规则与命令详解

[复制链接]

3174

主题

652

回帖

1万

积分

版主

积分
17381
发表于 2025-10-7 07:40:46 | 显示全部楼层 |阅读模式
7 v) f" Q1 K5 Y2 s$ s
UFW(Uncomplicated Firewall)是 iptables 的一个前端接口,旨在提供一个简单易用的方式来管理 Linux 的网络防火墙。它允许用户通过更直观的命令来定义允许或拒绝特定端口、协议或 IP 地址的网络流量。. q. Q- e( [8 D' C0 h" k+ X
: C, K# u9 i% j* H/ L3 A
UFW 的主要优势包括:9 O. t1 m, a: s- r  s- ?
易于使用: 相较于直接使用 iptables 命令,UFW 的语法更加简洁明了。
. w4 Q3 f: P  ?, E+ v默认策略: UFW 默认拒绝所有入站连接,只允许明确允许的连接,这提供了一个安全的起点。
) p' q8 [, y) C3 X; c模块化: 支持预定义的应用程序配置文件,简化了常见服务的配置。
2 {- ?' ?1 V9 U0 q6 AIPv6 支持: UFW 同时支持 IPv4 和 IPv6。
: |' @7 d& s: j
: N. f: G2 o$ O安装ufw
1 {2 e5 X* K) v2 o1 t& e& Bsudo apt-get install ufw
7 T+ a* w$ }- ?+ @5 b# E; T. e- p+ i2 @$ Q+ y
阻止单个IP地址- `3 k5 G4 B& K# p; o4 V/ j
sudo ufw deny from 192.168.1.100 to any" ~/ m5 r6 S3 Z$ y7 {
& Z5 d5 K( \9 E0 u  _: [/ N
阻止IP地址段
3 n, Z; ]4 A" A( ~sudo ufw deny from 192.168.1.0/24 to any
9 P% a5 m$ d8 G7 V: |: n& T: H$ j( @7 }! D5 x. `' m- i8 Y
允许所有 IP 地址访问 22/tcp 端口7 l8 z. Z. P  M9 u  A+ l
sudo ufw allow 22/tcp
" O" @) M6 }  X+ }& {3 ?4 S* u; W( a. V% L
允许特定 IP 地址访问 22/tcp 端口 (更安全)
! h  l0 W2 p+ H7 H; A$ \8 v, xsudo ufw allow from 192.168.1.100 to any port 22 proto tcp
$ J9 X% I1 C. d5 G1 Y
- f: b% _$ X* Y% |
% {! K+ I$ l7 P) f; l! u解释:: m- N$ u/ G- H& G
allow:表示允许流量。
- w8 p0 z+ c# ^0 S9 W: ]22/tcp:指定端口号(22)和协议(TCP)。
1 K- k' j, y! ~% i" Sfrom <IP地址>:指定允许的源 IP 地址。, `5 x, {: m4 W; V- o: `* R
to any:表示目标地址是服务器上的任何接口。
7 D4 l* a; ~9 o$ a# j' J" e* Rproto tcp:指定协议为 TCP。
7 f, @0 ?: z& \2 n' \: u% l( E& @' @' b8 _( {4 ^- i
允许特定子网访问 22/tcp 端口3 b- {' Z- B1 v$ s: w
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
; G0 G5 ^4 z$ M3 x, I* x1 S9 v7 |! b+ X
允许通过服务名称(推荐). _# y2 n  Q, \; W0 O9 V
UFW 支持通过预定义的服务名称来配置规则,这比直接指定端口号更具可读性和维护性。SSH 的服务名称通常是 ssh。& l. a( I- Z+ z; U
sudo ufw allow ssh
; C$ t+ M( T+ ~$ n" O
# R! D* }6 X+ f- f* b删除允许所有 IP 访问 80/tcp 端口的规则
( a2 b* o4 F' V0 Dsudo ufw delete allow 80/tcp9 ]1 e: u* t! k
2 a  G3 h7 F/ t1 c1 I; I: S
通过行号删除 (推荐)5 \3 j7 a. E# F5 b
/ E- q$ T: \- J$ `
使用 sudo ufw status numbered 查看带有行号的规则,然后使用 sudo ufw delete <行号> 来删除。: P0 w1 R; o, ^1 F  M. s& l
假设您想删除行号为 2 的规则:sudo ufw delete 22 @0 l- R9 h# i& j. H

' D" C" [$ v, n8 Z7 |
, c' C! Y7 Q7 N, S如果您需要临时禁用防火墙,可以执行:sudo ufw disable" D) e' ?) x0 y9 J0 ]3 F- |4 _
9 {. t0 \& Q2 C1 H
如果您想删除所有已配置的规则,并恢复到初始的禁用状态(包括默认策略),可以使用:sudo ufw reset( ~1 [- }6 B) m4 ^; e

9 B- P! h3 K) G' z7 J允许特定端口范围
9 }/ e) s: X: s' Rsudo ufw allow 60000:61000/tcp
, |6 [8 G. {8 qsudo ufw allow 60000:61000/udp3 f! j+ t# C( x- N

! u+ N9 a; O. @2 U6 V( q# B拒绝来自特定 IP 的所有连接2 y1 P' L" A- |9 F5 W( X
sudo ufw deny from 192.168.1.100
+ D; u, r9 f2 u2 Y" k" T, ]# P) O% L5 i( _
拒绝来自特定 IP 的特定端口连接4 }8 H" D* h  A8 Z
sudo ufw deny from 192.168.1.100 to any port 22 proto tcp
3 w0 U7 r8 r! t2 X" y& C8 N* n3 k, d% g( {: L
查看可用应用程序配置文件7 v$ g& f( G" a- c. p
sudo ufw app list
* A# L" c' m  E+ x
  e6 W* X( ^- o+ H) {8 [启用ufw并查看状态! i0 ~; x6 V! B9 o0 L' V' |
sudo ufw enable
# w: K" u9 W( k8 P1 d5 Wsudo ufw status
6 R7 Z* T, R/ i3 H2 _7 r
8 c$ l& F" Q0 s9 s* T' X- i
& ?+ a8 y- [+ u, V6 M核心命令回顾:
6 l' u4 L3 O; j; Y& G
5 e$ {- _: R' K! S2 {( tsudo ufw enable - 启用防火墙1 c! q) s6 Q# L' e& A
sudo ufw disable - 禁用防火墙
) u1 ]9 N" G; m) ?9 p2 r8 I7 qsudo ufw status - 查看防火墙状态! \' q+ `1 ?2 N9 `( D0 k" O
sudo ufw status numbered - 查看带行号的防火墙规则, T' w5 a2 o. m, I
sudo ufw allow <port>/<protocol> - 允许流量. q7 J9 N' V$ u8 E8 }
sudo ufw deny <port>/<protocol> - 拒绝流量/ ~4 y. O; B3 H5 z- N
sudo ufw limit <port>/<protocol> - 限制连接频率- F. W* w2 C8 X% ?
sudo ufw delete <rule> - 删除规则5 k' \1 P7 ?- H1 m5 @  |
sudo ufw reset - 重置防火墙
+ v5 p  ]0 a7 `6 U/ I! \& L; h8 q" o- k$ f  i$ X" W
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

捐款|存档|手机版|日常生活

© 2021-2026 THEDAILYLIVES.COM

快速回复 返回顶部 返回列表