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

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

UFW 防火墙命令

[复制链接]
发表于 2024-7-21 21:25:53 | 显示全部楼层 |阅读模式
安装ufw/ p$ n% x6 D% o2 D
在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:
+ d( y4 Z" s1 S4 x4 G. C  q$ Y
* y; _% G" i  U( W; Y3 G; O1 d# 安装ufw
1 c2 `& k0 O  R* b1 `7 \
  1. sudo apt-get update
    ) k' \6 A0 `: Z: H7 M7 L
  2. sudo apt-get install ufw
复制代码
- `( C  X0 [9 X3 T9 C
# 启动ufw
; o: y+ V5 k6 o! o" l) q$ G
  1. sudo ufw enable
复制代码
$ f7 ~' o% B1 X: |9 E. v6 q3 [
# 设置为开机自启
) j+ v# V- s1 n9 S/ w& l
  1. sudo systemctl enable ufw
复制代码
- ]/ j* t5 S+ Z2 D# K% G6 S
执行sudo ufw status查看当前状态,通常有3种状态:( V1 `" Y4 e+ z% d! e+ n. i9 M
  1. Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。/ L: m9 M; n# I: B- V
  2. Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。: W$ S5 u. g6 d( \& H/ _# B, x
  3. Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。
复制代码

' d/ D' O9 V4 {- b- ?6 Y5 zufw放行端口5 u" Y( ?$ L3 Y( ?
ufw的命令比firewalld简洁许多,比如你想放行单个端口,只需要执行:7 ?1 J* t( k( r. L" \/ @
# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。7 ^+ {2 r9 E) i
  1. sudo ufw allow <port>
复制代码
如果需要放行特定协议的端口,我们需要加上协议:
, r4 C" a: C! r8 k8 N, m- x- {, c" O2 \5 N* P
# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。
+ v7 M8 o' A, L# c6 x
  1. sudo ufw allow <port>/<protocol>
复制代码

, O0 c' i0 e- y0 h% p放行一个端口范围:/ F/ s$ W& v8 j, q, C) s
  1. sudo ufw allow <start-port>:<end-port>/<protocol>
复制代码
将 <start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行
  1. sudo ufw allow 8000:9000/tcp
复制代码

" d: F2 [# b& Q, ^" I1 rufw删除已经放行的规则或端口7 Z; {- y& t+ r; s! Q( q
要在ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:
" B% [7 T# g- O! {. L+ k% @
4 k+ q. C/ j" t方法1:通过规则号删除
; p- `1 I# C" w$ E+ L首先,运行以下命令以查看当前ufw的状态和现有规则:
9 R4 [$ b1 O+ y/ g0 Q( K
  1. sudo ufw status numbered
复制代码
/ v- Z/ R/ Q& q2 i& H# F- o
这将显示带有编号的规则列表。
$ B, p( q& Q5 K1 l% R, ?0 I确定您要删除的规则的编号,然后使用以下命令删除它,将[rule_number]替换为实际的规则编号:% ^( x: A5 r3 n0 V& _6 q2 ?- i
  1. sudo ufw delete [rule_number]
复制代码
# N* N1 L1 q$ d: [3 F& n
例如,要删除编号为1的规则,运行:
2 b2 C" d1 F6 Y+ d1 K" Z* i! k
  1. sudo ufw delete 1
复制代码
, O( K/ S4 C0 i& {4 p1 h7 Y
方法2:通过放行条件删除3 a  w: E' Y$ N6 R
您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许TCP端口80的规则,您可以运行:, G1 |2 _% {; @* \
  1. sudo ufw delete allow 80/tcp
复制代码
1 E% j' y! `2 |2 k
或者,如果要删除允许UDP端口5000的规则,您可以运行:! f% b9 J* Y) Z
  1. sudo ufw delete allow 5000/udp
复制代码
删除规则后,再次运行sudo ufw status以确认所选规则已从ufw中删除。
/ t. [; V& w* H% w. @/ h6 W
% d9 x+ j& ?  y* L, b阻止某个特定的IP
2 ~, d  W( N' {. x8 ^/ t1 E1 y$ c使用以下命令阻止来自特定IP(例如1.2.3.4)的连接:
8 ^  M# j7 n# _4 i1 S8 q5 j: x* I, l
  1. sudo ufw deny from 1.2.3.4
复制代码

% a1 o/ D) a; _+ G/ M" ?" R允许特定IP访问特定端口
! c/ G+ _1 f$ f9 q7 e1 `6 [使用以下命令允许特定IP访问特定端口。将[ip_address]替换为要允许的实际IP地址,将[port_number]替换为要允许访问的实际端口号,将[protocol]替换为tcp或udp,具体取决于您要放行的协议:/ G& D4 n4 e! P' Z' _+ e
  1. sudo ufw allow from [ip_address] to any port [port_number]/[protocol]
复制代码

  X2 g8 z/ ~2 J- e) k' y! p例如,要允许IP地址1.2.3.4访问TCP端口22,您可以运行:# A( B$ T0 _* l
  1. sudo ufw allow from 1.2.3.4 to any port 22/tcp
复制代码

/ D* X9 r. M- l4 Z  v. r& Z
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-6-7 06:00 , Processed in 0.005359 second(s), 6 queries , APCu On.

Powered by Discuz!

© 2010-2023.

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