老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. VPS相关
  4. 正文

使用UFW配置防火墙

2024年3月30日 1016次阅读 0条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn

UFW,或称 Uncomplicated Firewall,是 iptables 的一个接口,为不熟悉防火墙概念的初学者提供了易于使用的界面,同时支持 IPv4 和 IPv6 ,广受欢迎。 虽然 iptables 是一个强大而灵活的工具,但对初学者还是很难快速上手。 如果需要保护网络并且不确定使用哪种工具,UFW 可能是正确选择。

安装

ufw并非所有Linux系统的自带标配,Debian默认就不安装ufw,请使用apt立即安装。

apt install ufw -y

配置检查(可选)

安装好 ufw,会在 /etc/default下找到 ufw 配置文件,如果 Debian 启用了 IPv6,需要确保将 ufw 配置为支持 IPv6,因此需要检查配置文件。

nano /etc/default/ufw

以下为去除所有注释说明的配置文件主要内容,摘取的第一行即为启用管理 IPv6 过滤规则。

IPV6=yes

#默认入站策略DROP
DEFAULT_INPUT_POLICY="DROP"
#默认出站策略ACCEPT
DEFAULT_OUTPUT_POLICY="ACCEPT"
#默认转发策略DROP
DEFAULT_FORWARD_POLICY="DROP"
#默认转发策略SKIP
DEFAULT_APPLICATION_POLICY="SKIP"
#默认不管理内建规则/链
MANAGE_BUILTINS=no

允许SSH连接

如果需要通过 ssh 远程连接到服务器,在启用 ufw 防火墙之前,务必显式允许入站 ssh 连接。否则,你将永远无法通过 ssh 连接到机器上。

#以端口号形式检查端口过滤
ufw status numbered
ufw allow ssh
#ufw allow 22/tcp

设置默认策略

默认情况下,ufw 阻塞所有入站连接、允许所有出站连接。这意味着初始安装的 ufw,一旦使用“ufw enable”后,任何人都无法访问服务器。默认的策略定义在 /etc/default/ufw 文件中,可以通过使用以下命令来修改。

ufw default <policy> <chain>

允许/禁止其他连接

ufw 命令语法很简单,对于允许、禁止规则的定义,使用自然语言的“allow”、“deny”即可。

sudo ufw allow|deny [service]

[service] 可以是某项服务,也可以是该服务使用的端口。以下为允许或禁止某个服务/端口流量的示例。

ufw allow smtp #允许所有的外部IP访问本机的25/tcp (smtp)端口
ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
ufw allow 53 #允许外部访问53端口(tcp/udp)
ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
ufw deny smtp #禁止外部访问smtp服务
ufw delete allow smtp #删除上面建立的某条规则

ufw 允许指定访问端口范围,而不仅仅是单个端口的过滤规则。 使用 ufw 允许端口范围时,必须指定协议,即tcp或udp。 例如,如果要允许 tcp 和 udp 上的端口从 8000 到 8100,则运行以下命令。

ufw allow 8000:8100/tcp
ufw allow 8000:8100/udp

ufw 还可以指定源和目的,其中源和目的 IP 可以为单一 IP 地址,也可以是某个 cidr 网段。

ufw allow from 55.66.77.88 to any port 22
ufw allow from 192.168.1.0/24 to any port 3306

为了使用 ufw 允许对特定端口的访问,可以参考如下指令。这里假设端口 3306 仅适用于特定的网络接口 eth0,那么您需要指定允许输入以及网络接口的名称.

ufw allow in on eth0 to any port 3306

启用UFW

启用/关闭防火墙 (默认设置是’disable’),可以使用如下命令。

ufw enable|disable

“enable”将启用 ufw,“disable” 则禁用ufw。我们还以对 ufw 进行重置,重置 ufw 将禁用 ufw(ufw 默认初始状态就是 disable),并删除所有规则。 如果需要恢复所有更改并重新开始,重置很有帮助。

ufw reset

至此,我们已经学会了如何在 debian/ubuntu 服务器上安装和配置 ufw 防火墙。我们需要确保允许系统正常运行所需的所有入站、出站连接,同时限制所有不必要的入站连接。

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: linux Linux系统运维
最后更新:2024年5月22日

webmaster

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

站内搜索
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月

Copyright ©2023-2025 Appscross. All Rights Reserved.