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

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

UFW 防火墙命令

[复制链接]
发表于 2024-7-21 21:25:53 | 显示全部楼层 |阅读模式
安装ufw
4 H2 m) X; F& ~. K) E4 b$ X( W在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:! Z6 R- `8 b- b1 `+ v( ~. l& x) R
4 C4 V0 N% E2 u2 \- m
# 安装ufw
, e- x; t3 Y+ c7 m0 B! m, u8 w
  1. sudo apt-get update, u- `7 i: D4 A. S' q
  2. sudo apt-get install ufw
复制代码

4 S6 H* L) K* a# N1 q; v; M6 D# 启动ufw
6 m& v) [  m8 J3 g
  1. sudo ufw enable
复制代码

" _& R! b6 g' V% U& _# 设置为开机自启
/ R  ~% z5 S1 r: M+ b: w+ `
  1. sudo systemctl enable ufw
复制代码
: ~+ f* Q9 R  \9 T( T& \
执行sudo ufw status查看当前状态,通常有3种状态:
0 l+ ~" c5 R: P7 [
  1. Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
    8 |( D  F; `1 {' p: Y- M
  2. Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
    * k6 G6 z# Q# B. n+ |1 k8 r, {
  3. Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码
0 h& o! L- A+ s; r' S
ufw放行端口) {; L- e0 M- ^" b% q  |5 q  t
ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:
6 @" f3 H7 ?3 S% l" A4 K' g2 `# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。
4 s9 S5 |4 C: p  C% t
  1. sudo ufw allow <port>
复制代码
如果需要放行特定协议的端口,我们需要加上协议:
" Y  h& R; h1 z, q! C% w/ a9 G! g" A1 a9 k% X
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。& V: ^& X2 k: H
  1. sudo ufw allow <port>/<protocol>
复制代码
* i( g/ a% y! g
放行一个端口范围:, M: Z/ Q! E' j& p) r$ V
  1. sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码
将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行
  1. sudo ufw allow 8000:9000/tcp
复制代码
" \) Y$ H; _/ ~! w) a
ufw删除已经放行的规则或端口+ S" O  V0 x$ X  A  w/ w
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
9 Q/ ]- D- P$ s1 Z2 n, Q1 _* j+ \
( t1 ^% h, n1 A% d- V方法1:通过规则号删除( C# W4 ^# i* V: C/ K+ X1 M
首先,运行以下命令以查看当前ufw的状态和现有规则:
8 O  a! F  q& }1 B1 {
  1. sudo ufw status numbered
复制代码

5 o- n7 R! X* B, f这将显示带有编号的规则列表。
& {2 k$ M9 t6 Q9 E2 ~确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:
1 y& ?) o  `& _0 B; G% v' A
  1. sudo ufw delete [rule_number]
复制代码

( `0 m% h: }% J3 W( L2 p; W例如,要删除编号为1的规则,运行:5 B% H* ]3 T6 A* S1 [" V
  1. sudo ufw delete 1
复制代码
# M  T5 V% a  h3 y: {+ V
方法2:通过放行条件删除
0 q  }$ F( }) A! P7 Y; J( L您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:0 L% f) f, ?& E0 z* X. Y  R# \
  1. sudo ufw delete allow 80/tcp
复制代码
; x/ Z  n/ B% I$ a
或者,如果要删除允许UDP端口5000的规则,您可以运行:9 o3 ^- V8 S4 Q, L1 p
  1. sudo ufw delete allow 5000/udp
复制代码
删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。6 K) b# C0 i' y6 t* p. X$ g

9 _1 Y8 P; Z( @* h  D$ o7 X阻止某个特定的IP: Z1 P. s$ d$ a) B: p: ^8 f5 O
使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
4 f) M$ J% d1 y" K9 c1 w
  1. sudo ufw deny from 1.2.3.4
复制代码
' G- M! ~, Z1 F9 w: ^
允许特定IP访问特定端口
8 J9 E  Y. @- h' B0 i/ }/ I9 [使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:
6 W3 w8 o& F' G8 e" x5 c3 V
  1. sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码

1 _: C* S1 L. n8 Z: D) T- u) }例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:% M  d  M! }& B9 l3 @4 s+ V& H
  1. sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码

; W* f2 D$ Z* Z3 O
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-10-1 04:05 , Processed in 0.025816 second(s), 7 queries , Redis On.

Powered by Discuz!

© 2010-2023.

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