Linux 防火墙配置实战指南 - 2026 中级详解与实战教程

365体育手机版下载安装 📅 2026-02-01 03:12:16 👤 admin 👀 4341 ❤️ 652
Linux 防火墙配置实战指南 - 2026 中级详解与实战教程

本指南将带您了解并配置 Linux 中最常用的两种防火墙工具:UFW 和 iptables。通过学习本教程,您可以为您的 VPS 建立坚实的第一道安全防线,保护服务器免受未授权的访问和常见网络攻击。

🛡️ 防火墙基础

主机防火墙是运行在单个服务器上的软件,用于控制进出该服务器的网络流量。它是服务器安全策略的核心组成部分。

为什么需要防火墙? 互联网是一个充满威胁的环境。您的 VPS 会持续不断地受到来自世界各地的自动扫描和恶意攻击。防火墙的作用就像一个忠诚的门卫,它根据您设定的一系列规则,决定哪些网络流量可以进入或离开您的服务器。

🚫 阻止未授权访问 只开放必要的服务端口,阻止对其他所有端口的访问尝试。

🎯 防止端口扫描 使您的服务器在网络扫描中“隐身”,减少成为攻击目标的几率。

🐛 限制恶意软件 如果服务器不幸被感染,防火墙可以阻止恶意软件向外连接或传播。

UFW vs. iptables iptables 功能极其强大,直接操作内核 netfilter。语法复杂,学习曲线陡峭,但提供无与伦比的控制力。 UFW 意为“简单的防火墙”,是 Debian/Ubuntu 默认工具。它提供友好的命令行界面,适合 95% 的用户。 我们的建议是:从 UFW 开始。只有当您需要实现非常复杂的网络策略时,才需要深入研究 iptables。

🔥 UFW 简易防火墙

UFW 的设计初衷就是简单易用。下面我们来看如何快速配置它。

第一步:安装和检查状态 安装 UFW (如果需要):

sudo apt update && sudo apt install ufw 检查 UFW 状态:

sudo ufw status 默认情况下,UFW 是禁用的,您会看到 Status: inactive。

第二步:设置默认策略 一个安全的防火墙策略是“默认全部拒绝,按需逐一允许”。

sudo ufw default deny incoming sudo ufw default allow outgoing 第三步:允许必要连接 ⚠️ 警告:防止被锁

在启用防火墙之前,请务必先允许 SSH 连接,否则您将立即被锁定在服务器之外!

1. 允许 SSH 连接 (默认端口 22):

sudo ufw allow ssh 2. 如果您修改了 SSH 端口 (例如 2222):

sudo ufw allow 2222/tcp 3. 如果运行 Web 服务器 (HTTP/HTTPS):

sudo ufw allow http && sudo ufw allow https 第四步:启用 UFW 在确认已允许 SSH 之后,可以安全地启用防火墙了。

sudo ufw enable 系统会提示操作可能会中断现有连接,输入 y 并回车确认。

常用 UFW 命令备忘 命令 描述 sudo ufw status 查看 UFW 状态 sudo ufw enable 启用 UFW sudo ufw disable 禁用 UFW sudo ufw default deny incoming 设置默认入站策略为拒绝 sudo ufw default allow outgoing 设置默认出站策略为允许 sudo ufw allow ssh 允许 SSH 连接(基于服务名) sudo ufw allow 22/tcp 同上,按端口号允许 sudo ufw allow http 允许 HTTP 连接(端口 80) sudo ufw allow 8080/tcp 允许 TCP 协议的 8080 端口 sudo ufw allow from 1.2.3.4 允许特定 IP 的所有连接 sudo ufw allow from 192.168.1.0/24 to any port 3306 允许特定子网访问 MySQL sudo ufw deny 12345/tcp 拒绝 TCP 协议的 12345 端口 sudo ufw status numbered 显示带编号的规则列表 sudo ufw delete 1 删除编号为 1 的规则 sudo ufw reset 重置所有规则到初始状态 🔗 高级防火墙 iptables

基础 iptables 配置示例 以下是一组基础的 iptables 规则,可以实现与我们上面 UFW 配置类似的安全策略。

# 1. 允许本地回环 (重要!)

iptables -A INPUT -i lo -j ACCEPT

# 2. 允许已建立的连接

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# 3. 允许 SSH (22) 和 Web (80/443)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 4. 允许 Ping (可选)

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

# 5. 设置默认策略:拒绝其他所有入站

iptables -P INPUT DROP 保存规则 (持久化) 安装工具 (Debian/Ubuntu):

sudo apt install iptables-persistent -y 保存当前规则:

sudo netfilter-persistent save 常用 iptables 命令备忘 命令 描述 iptables -L -v -n 查看所有链的规则(详细、数字格式) iptables -A INPUT -p tcp --dport 22 -j ACCEPT 允许 TCP SSH 端口(22)入站 iptables -A INPUT -p tcp --dport 80 -j ACCEPT 允许 HTTP(80)入站 iptables -A INPUT -s 1.2.3.4 -j DROP 丢弃来自特定 IP 的包 iptables -P INPUT DROP 设置 INPUT 链默认策略为丢弃 iptables -D INPUT 3 删除 INPUT 链中的第 3 条规则 iptables -F 清空所有规则 apt-get install iptables-persistent 安装规则持久化工具 netfilter-persistent save 保存当前规则 🚪 通用端口管理

有效管理端口是防火墙配置的关键。原则是:最小化开放端口。

常见服务端口速查 端口 服务 描述 21 FTP 文件传输协议(不安全,建议用 SFTP) 22 SSH 安全远程登录和文件传输 25 SMTP 邮件发送协议 53 DNS 域名解析服务 80 HTTP Web 服务(未加密) 443 HTTPS Web 服务(加密) 3306 MySQL MySQL 数据库 6379 Redis Redis 缓存数据库 检查开放端口 配置完防火墙后,务必检查哪些端口仍在监听,以发现潜在风险。

sudo ss -tuln 参数解释: -t (TCP), -u (UDP), -l (监听状态), -n (数字格式)。

🌊 DDoS 基础防护

虽然主机防火墙无法抵御大规模 DDoS,但我们可以使用 iptables 缓解小规模的连接耗尽攻击。

使用 iptables 进行速率限制 我们可以限制来自单个 IP 地址的连接速率,以防止暴力破解。

# 限制单个 IP 地址的并发连接数

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j DROP

# 限制新连接的速率 (防止 SSH 爆破)

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP 这段脚本会限制 80 端口的并发连接数,并防止 SSH 端口被暴力破解。

SYN Flood 防护 编辑 /etc/sysctl.conf 添加:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 2048

net.ipv4.tcp_synack_retries = 2

执行 sudo sysctl -p 生效。

✨ 安全实践和技巧

🛡️ 默认拒绝策略 始终采用“默认拒绝所有,按需允许少数”的策略。这是最核心的防火墙思想。

🚪 最小化开放端口 只开放您当前需要的服务端口。定期使用 ss -tuln 检查。

🔢 更改默认 SSH 端口 将 SSH 端口从 22 更改为其他端口,可显著减少自动化扫描。

🔒 限制 IP 访问 如果某些服务(如数据库)只应由特定 IP 访问,务必添加源 IP 限制。

🚀 下一步行动

防火墙已就位,您的服务器更加安全了。接下来,您可以继续系统配置或开始部署服务:

🤖 自动化运维脚本 学习使用 Shell 脚本自动化日常任务,提升服务器管理效率。

查看脚本 🌐 Web 服务器搭建 部署 Nginx/Apache,配置 SSL 证书,开始托管您的第一个网站。

开始学习 ⭐ VPS 推荐榜单 查看经过实测验证的优质 VPS 商家推荐,找到最适合您的方案。

查看推荐 📚 浏览更多教程 探索服务器安全、网站搭建、性能优化等进阶主题。

探索教程

还未选定心仪的 VPS?

查看我们的年度精选榜单,找到最适合您的性价比之选。

查看 VPS 推荐榜单

浏览更多教程

🍵 相关养生推荐

凤凰传奇手游装备洗练玩法 装备如何洗练
365bet体育投注地址

凤凰传奇手游装备洗练玩法 装备如何洗练

📅 09-01 👀 2243
30只黑壳虾多久爆缸,看看这些黑壳虾知识您知道吗?
365bet体育投注地址

30只黑壳虾多久爆缸,看看这些黑壳虾知识您知道吗?

📅 11-15 👀 3211
《使命召唤》介绍
365bet体育投注地址

《使命召唤》介绍

📅 08-02 👀 6825
心悦客服电话是多少?快速联系人工客服看这里!
怎么无限注册365游戏账号

心悦客服电话是多少?快速联系人工客服看这里!

📅 07-29 👀 7575
冬天空调也开26℃吗?80%的人都选错了温度
怎么无限注册365游戏账号

冬天空调也开26℃吗?80%的人都选错了温度

📅 07-06 👀 1356