公司博客 // 2026-07-19 · BY IDCBOT

Linux防火墙怎么配置?ufw与iptables入门到实战(附常用规则)

防火墙是服务器的第一道网络防线,决定了”谁能连到你的哪些端口”。配好了,大量攻击直接被挡在门外;配错了,要么服务连不上,要么门户大开。本文从简单的ufw讲到底层的iptables,给你一套能直接用的防火墙配置。

一、核心原则:最小开放

防火墙配置只有一条黄金法则:默认拒绝所有,只放行必需的。用不到的端口一个都不开,暴露的端口越少、攻击面越小。这个原则贯穿下面所有配置。

二、ufw:简单够用的首选

ufw(Uncomplicated Firewall)是Ubuntu/Debian上iptables的友好封装,命令直观,适合绝大多数场景:

apt install ufw -y
ufw default deny incoming      # 默认拒绝所有入站
ufw default allow outgoing     # 默认允许所有出站
ufw allow 22/tcp               # 放行SSH(改过端口就写你的端口)
ufw allow 80/tcp               # 放行HTTP
ufw allow 443/tcp              # 放行HTTPS
ufw enable                     # 启用防火墙
ufw status verbose             # 查看状态

重要提醒:enable之前务必先allow你的SSH端口,否则enable后会把自己锁在门外!(万一锁了,用机器云控制台VNC进系统救援)

三、ufw进阶:限制来源IP

最强的访问控制——只允许特定IP访问敏感端口:

# 只允许你的固定IP连SSH
ufw allow from 你的IP to any port 22
# 数据库端口只允许内网/特定IP
ufw allow from 10.0.0.0/24 to any port 3306
# 删除规则
ufw delete allow 80/tcp

运维IP固定的话,把SSH限制到你的IP,爆破直接绝迹。数据库、Redis等服务(参考博客Redis安全篇)只对内网或特定IP开放,绝不放公网。

四、iptables:底层的力量

ufw底层就是iptables。多数人用ufw足够,但了解iptables有助于理解和处理复杂需求。基础概念:iptables按”链”(INPUT入站/OUTPUT出站/FORWARD转发)和”规则”工作,数据包从上到下匹配规则。查看当前规则:

iptables -L -n -v        # 查看所有规则
iptables -L -n --line-numbers   # 带行号,便于删除

基础规则示例(理解即可,日常用ufw):

iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # 放行443
iptables -A INPUT -p tcp --dport 22 -s 你的IP -j ACCEPT  # 限IP放行SSH

注意:iptables规则默认重启后失效,需用 iptables-persistent 等工具持久化。ufw则自动持久化,这也是推荐ufw的原因之一。

五、防火墙 vs 云安全组:两道门都要关

很多云服务器有两层网络防护:服务器内的防火墙(ufw/iptables)和服务商控制台的安全组。两者是叠加关系——安全组在网络边缘过滤,防火墙在系统层过滤。最佳实践是两层都配、都遵循最小开放,双保险。注意两边规则要一致,否则会出现”安全组开了但防火墙没开”导致服务连不上的困惑。

六、配合Fail2ban动态封禁

防火墙是静态规则,配合Fail2ban(参考博客安全加固篇)能实现动态防护:自动检测爆破、CC等恶意行为,把作恶IP临时加入防火墙封禁。静态最小开放 + 动态自动封禁 = 完整的网络防护。

结论

防火墙配置记住核心:默认拒绝、最小开放、敏感端口限来源IP、enable前先放行SSH。日常用ufw简单可靠,了解iptables有助于应对复杂场景,再配合云安全组和Fail2ban,你的服务器网络防线就相当牢固了。新服务器上线,把防火墙和SSH加固一起做掉——在免费试用机上练一遍这套配置,养成安全习惯。

// LEAVE A COMMENT

Your email address will not be published. Required fields are marked *