稳定互联,中美互联,站长交流,虚拟主机,香港主机,美国主机,虚拟空间,免费空间,免费VPS,免费域名

 找回密码
 立即注册
查看: 1139|回复: 0

UFW 防火墙命令

[复制链接]
发表于 2024-7-21 21:25:53 | 显示全部楼层 |阅读模式
安装ufw
; v5 Y0 P8 `) S; C在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:! w, \3 B' f! n0 @. g9 }, [

8 R* A2 o7 M9 x& {# 安装ufw+ ~# d+ A) b( x! Q! R* l. t% E
  1. sudo apt-get update8 e( b' }' v$ L$ ^
  2. sudo apt-get install ufw
复制代码
0 h2 f6 M5 S5 E  H
# 启动ufw
$ t2 E: O1 k/ R  {& c
  1. sudo ufw enable
复制代码
9 B& C" c! D0 `7 ?5 j9 f
# 设置为开机自启/ h& h3 T/ ]6 n+ U6 T! t1 @
  1. sudo systemctl enable ufw
复制代码

* V+ q$ S2 H, s- |7 G执行sudo ufw status查看当前状态,通常有3种状态:
  i4 h9 G5 ~( U$ n
  1. Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
    5 u/ O" B5 i" w# U0 ^- P6 V% ~
  2. Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
    ! G. e) e( H# [1 Z/ B! e
  3. Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码
8 U2 r7 y; @; w' v* i/ k
ufw放行端口$ o; w# o. F) |1 m  [0 i
ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:
+ d) [, [0 z" Z; L+ U4 u9 D+ G2 e# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。
" ]( H4 F9 b- a
  1. sudo ufw allow <port>
复制代码
如果需要放行特定协议的端口,我们需要加上协议:
8 V0 k' f8 @; g! e0 O5 g( O8 J. U: Q/ R0 H+ g
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
+ r- v2 K+ I8 |1 t( F- m8 Q$ a
  1. sudo ufw allow <port>/<protocol>
复制代码
  p1 v9 u# v" [. `
放行一个端口范围:1 N* J- _( x% G2 l8 j4 A# e. C
  1. sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码
将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行
  1. sudo ufw allow 8000:9000/tcp
复制代码

8 j' O1 a# _1 gufw删除已经放行的规则或端口+ W0 r; x( L* d5 U. y8 |
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:; u; g2 m. _- S  G8 m- g( r

5 @  ]! C4 P3 s0 F方法1:通过规则号删除( [$ F5 K) L0 F& a" l
首先,运行以下命令以查看当前ufw的状态和现有规则:
) Y/ u# o; t$ `
  1. sudo ufw status numbered
复制代码

9 l' Q% p% r$ `* J) Z; z+ i这将显示带有编号的规则列表。1 v# c, H" v: U- U7 \2 a* K
确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:1 C: V# L* B8 }) W3 e" }
  1. sudo ufw delete [rule_number]
复制代码
; u% L& P0 j. _+ G* e5 \' x
例如,要删除编号为1的规则,运行:
/ c% Q) `. s% A8 F% O1 G
  1. sudo ufw delete 1
复制代码

! o  W9 p9 L( q% c方法2:通过放行条件删除% x1 i: N  X. v
您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:6 N4 h* x3 M2 a3 o3 K2 e4 Q5 A
  1. sudo ufw delete allow 80/tcp
复制代码
2 w2 U1 K5 w& X" M
或者,如果要删除允许UDP端口5000的规则,您可以运行:
  L- n$ Z7 I" g# z/ O
  1. sudo ufw delete allow 5000/udp
复制代码
删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。# _7 j: D' A& K9 F! U& |  }
8 S& J2 @8 D+ q% L& |1 ?8 ?* v
阻止某个特定的IP
" x2 Q3 i% `# h# W, ]2 r使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:( T' w0 b6 h$ J5 G% ^
  1. sudo ufw deny from 1.2.3.4
复制代码
( ]( b' O( B: O+ O
允许特定IP访问特定端口5 t+ D0 ^! i8 v! e6 }! C
使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:
6 L6 Y0 r  `, y2 i1 G
  1. sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码
1 x" k, e" ^8 b8 J+ p  h8 m
例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:/ E$ G4 ^. `- h! A# K8 |( V7 H/ t1 H
  1. sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码

: m' G) r6 V6 ~/ c- {8 j$ K2 g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|WdidcNet ( 苏ICP备17005075号-1 )

GMT+8, 2025-11-15 08:38 , Processed in 0.007973 second(s), 7 queries , APCu On.

Powered by Discuz!

© 2010-2023.

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