阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

简单而强大:快速掌握 UFW 防火墙命令

33次阅读
没有评论

共计 2336 个字符,预计需要花费 6 分钟才能阅读完成。




本站提供 Linux 服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

xiaoz 之前经常使用的服务器操作系统是 Redhat 系列的 CentOS。然而,自从 CentOS Stream 变成了 RHEL 的滚动更新预览版后,xiaoz 开始逐渐转向 Debian。虽然一开始有些不习惯,但使用了一段时间之后,xiaoz 发现 Debian 仍然非常易用。

就拿防火墙管理这一块来说,我在 CentOS 下使用 firewalld,转用 Debian 后,我发现ufw 更加简单易用。本文将分享 ufw 的快速上手方法。

关于 ufw

ufw(Uncomplicated Firewall)是一个简化的、易于使用的 Linux 防火墙工具,旨在方便用户管理 iptables 防火墙规则。它为用户提供了一个直观且易于理解的命令行界面,使得配置防火墙规则变得更加简单。

ufw 的一些主要特点和功能:

  1. 简化的防火墙管理:ufw 提供了一个简洁的命令行界面,让您能够轻松地添加、删除和修改防火墙规则。
  2. 基于 iptables:ufw 是基于 iptables 的,因此它与 Linux 内核中现有的防火墙技术兼容。它实际上是 iptables 的一个友好的前端。
  3. 允许和拒绝规则:您可以使用 ufw 创建允许和拒绝规则,以控制入站和出站流量。这让您可以精确地控制允许哪些连接进入或离开您的系统。
  4. 放行特定端口、协议和 IP:ufw 允许您放行特定端口、协议(TCP 或 UDP)以及特定来源或目标 IP 地址的连接。
  5. 限制特定 IP 访问:您可以使用 ufw 限制特定 IP 地址访问您的系统上的特定端口。
  6. 日志记录:ufw 可以记录防火墙活动,这对于监视您的系统安全和解决网络问题非常有用。
  7. 易于启用和禁用:ufw 可以轻松启用和禁用,让您在需要时可以迅速启用防火墙,或在进行系统维护时暂时关闭防火墙。

安装 ufw

在 Debian、Ubuntu 或其衍生版本上,打开终端并执行以下命令安装:

# 安装 ufw
sudo apt-get update
sudo apt-get install ufw

然后启动ufw:

# 启动 ufw
sudo ufw enable
# 设置为开机自启
sudo systemctl enable ufw

执行 sudo ufw status 查看当前状态,通常有 3 种状态:

  • Status: inactive(未启用):表示 UFW 没有启用,防火墙处于关闭状态。
  • Status: active(已启用):表示 UFW 已经启用,并且防火墙规则正在应用于系统。
  • Status: inactive (dead)(未启用且未运行):表示 UFW 已被禁用,并且防火墙未在系统中运行。

ufw 放行端口

ufw的命令比 firewalld 简洁许多,比如你想放行单个端口,只需要执行:

# 将 <port> 替换为你要放行的具体端口号。例如,要放行 TCP 端口 80,可以执行 sudo ufw allow 80。sudo ufw allow <port>

如果需要放行特定协议的端口,我们需要加上协议:

# 将 <port> 替换为端口号,<protocol> 替换为协议类型(如 tcp、udp)。例如,要放行 UDP 端口 53,可以执行 sudo ufw allow 53/udp。sudo ufw allow <port>/<protocol>

放行一个端口范围:

sudo ufw allow <start-port>:<end-port>/<protocol>

<start-port> 替换为起始端口号,<end-port> 替换为结束端口号,<protocol>为协议。例如,要放行 TCP 端口范围 8000 到 9000,可以执行sudo ufw allow 8000:9000/tcp

ufw 删除已经放行的规则或端口

要在 ufw(Uncomplicated Firewall)中删除已添加的规则,您可以通过规则号或者具体的放行条件来删除。以下是两种方法:

方法 1:通过规则号删除

首先,运行以下命令以查看当前 ufw 的状态和现有规则:

sudo ufw status numbered

这将显示带有编号的规则列表。

确定您要删除的规则的编号,然后使用以下命令删除它,将 [rule_number] 替换为实际的规则编号:

sudo ufw delete [rule_number]

例如,要删除编号为 1 的规则,运行:

sudo ufw delete 1

方法 2:通过放行条件删除

您还可以通过指定放行条件(例如端口和协议)来删除规则。例如,要删除允许 TCP 端口 80 的规则,您可以运行:

sudo ufw delete allow 80/tcp

或者,如果要删除允许 UDP 端口 5000 的规则,您可以运行:

sudo ufw delete allow 5000/udp

删除规则后,再次运行 sudo ufw status 以确认所选规则已从 ufw 中删除。

阻止某个特定的 IP

使用以下命令阻止来自特定 IP(例如 123.57.22.204)的连接:

sudo ufw deny from 123.57.22.204

允许特定 IP 访问特定端口

使用以下命令允许特定 IP 访问特定端口。将 [ip_address] 替换为要允许的实际 IP 地址,将 [port_number] 替换为要允许访问的实际端口号,将 [protocol] 替换为 tcpudp,具体取决于您要放行的协议:

sudo ufw allow from [ip_address] to any port [port_number]/[protocol]

例如,要允许 IP 地址 192.168.1.10 访问 TCP 端口22,您可以运行:

sudo ufw allow from 192.168.1.10 to any port 22/tcp

结语

ufw 是一个易于使用且功能强大的防火墙管理工具,它使得在 Linux 系统上配置防火墙规则变得更加简单。无论您是 Linux 新手还是有经验的管理员,ufw 都是一个值得尝试的工具。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2336字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中