VPS 使用策略

节点封禁 · 案例剖析 · 以 Cloudflare DNS 为核心的解决方案

🛡️ 在全球网络环境下,VPS 节点遭遇阻断、封禁已成为高频痛点。无论是 IP 被墙、端口限制, 还是 DNS 污染,都会导致服务不可用。本文将结合真实案例,并深度解析如何利用 Cloudflare DNS 构建高可用、抗干扰的访问策略。

📌 节点被封 · 典型案例

  • 案例一 · IP 墙 高发
    VPS 的 IPv4 地址突然无法从国内访问(TCPing 超时),但海外监测点正常。常见于流量突增或协议特征明显。
  • 案例二 · 端口阻断 精准打击
    常用端口(如 22、443、8080)被 ISP 干扰,连接超时或被 RST 重置。切换至非标端口(如 8443)可临时恢复,但治标不治本。
  • 案例三 · DNS 污染 隐蔽性强
    域名解析被劫持,返回错误的 IP(如 127.0.0.1 或境外无关 IP)。导致域名无法访问,但通过 IP 直连却正常。这是最需要 Cloudflare DNS 解决的关键场景。
  • 案例四 · SNI 阻断 TLS 指纹
    TLS 握手时 Server Name Indication 被检测,若域名在黑名单内,连接立即被 Reset。即使更换 IP 也无法绕过,需结合 ECH 或 CDN 前置。
  • 案例五 · ICMP 封锁 探测屏蔽
    Ping 不通,但 TCP 特定端口(如 80)可通。防火墙策略针对 ICMP 协议进行丢弃,导致网络诊断失效。

⚠️ 以上案例并非孤立,往往多种情况叠加。常规的换 IP、换端口已无法应对,需要从 DNS 解析层 和 流量转发层 进行系统性重构。

🚀 解决方案 · Cloudflare DNS 全链路

🌐 为什么是 Cloudflare DNS?

不仅提供全球最快的 1.1.1.1 公共 DNS(支持 DoH/DoT 加密),其 权威 DNS 托管 配合 CDN 代理(橙色云) 能有效隐藏源站 IP,并利用 Anycast 网络清洗恶意流量。针对 DNS 污染,Cloudflare 的 DNSSEC 和加密查询是最强防御。

① 加密 DNS 查询

将系统或路由器的 DNS 改为 1.1.1.1 和 1.0.0.1,并开启 DoH。杜绝 ISP 侧嗅探和劫持。

② 源站 IP 隐藏

将域名托管至 Cloudflare,开启 代理(Proxy) 状态。所有访问流量经 CF 边缘节点转发。

③ 配合 Argo Tunnel

安装 cloudflared 建立安全隧道,无需开放任何入站端口,即使 IP 被封仍可访问。

④ 动态 DNS 更新

利用 Cloudflare API 编写脚本,当 VPS 更换 IP 后自动更新 DNS 记录,实现秒级切换。

⚙️ 实战配置:Cloudflare DNS 防封组合拳

步骤 1:本地与服务器 DNS 硬化
编辑 /etc/resolv.conf 指定 nameserver 1.1.1.1 及 1.0.0.1。启用 DoH 可参考 cloudflared。

# 测试加密 DNS 解析
dig @1.1.1.1 example.com +https
# 使用 cloudflared 代理 DNS
cloudflared proxy-dns --address 0.0.0.0 --port 53

步骤 2:托管域名并开启代理
在 Cloudflare 控制台将 DNS 记录中的 “云朵” 点成橙色(Proxied)。

# 检查流量是否经过 CF
curl -s https://cloudflare.com/cdn-cgi/trace | grep location

步骤 3:配置防火墙仅允许 CF 回源
在 VPS 防火墙中仅开放 Cloudflare 官方回源 IP 段(从 https://www.cloudflare.com/ips-v4 获取)。

# 示例:仅允许 CF IP 访问 443
for ip in $(curl https://www.cloudflare.com/ips-v4); do
ufw allow from $ip to any port 443 proto tcp
done
ufw default deny incoming

步骤 4(进阶):使用 Argo Tunnel 零暴露
安装 cloudflared 并创建隧道,将内网服务映射到 CF 域名,无需开放公网端口。

📋 策略总结

将 Cloudflare DNS(1.1.1.1 加密查询) 与 CDN 代理 / Argo Tunnel 结合,可同时解决 DNS 污染、IP 暴露、端口封锁三大问题。配合防火墙 IP 白名单和自动化更新,构建自愈性强的 VPS 访问体系。

💡 定期检查 Cloudflare 回源 IP 列表变更,并监控域名解析状态。建议启用负载均衡和健康检查。

🛠️ 3x-UI 面板安装教程

轻量级 · 多协议 · 可视化代理管理面板

3x-UI 是一款基于 Xray 核心的 Web 管理面板,支持 VMess、VLESS、Trojan、Shadowsocks 等协议,并提供流量统计、用户管理和多节点配置。本教程将指导您在 VPS 上一键安装并安全配置。

📦 安装前准备

  • ✅ 一台已购 VPS(推荐 Ubuntu 20.04+ 或 Debian 11+)
  • ✅ 拥有 root 权限或 sudo 用户
  • ✅ 确保防火墙开放面板端口(默认 2053)和代理端口
  • ✅ 域名(可选,用于 TLS 证书)

🚀 一键安装脚本

执行以下命令(以 root 身份):

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

脚本会自动安装 Xray 核心、配置面板并生成随机端口与登录凭证。安装完成后,终端会输出面板访问地址(如 http://你的IP:2053)及默认用户名/密码。

⚠️ 安全提醒: 安装后请立即登录面板修改默认密码,并建议启用 HTTPS(通过域名 + 证书)。

🔧 基本配置与使用

1. 登录面板

在浏览器访问安装后输出的地址,使用默认账号 admin / admin 登录(务必及时修改)。

2. 添加入站节点

在 “入站列表” 中点击 “添加入站”,选择协议(如 VLESS+WS+TLS),填写端口、用户、路径等信息。支持一键生成二维码和客户端链接。

3. 管理用户与流量

面板提供用户流量统计、限制和到期时间设置,适合多用户场景。

4. 启用 TLS 证书

在 “面板设置” 中可配置 SSL 证书(支持 Let's Encrypt 自动申请),提升面板和代理安全性。

💡 进阶技巧: 配合 Cloudflare CDN 隐藏 VPS IP,将面板域名解析到 CF 并开启代理,同时在面板中配置 “真实 IP 传递” 以获取客户端真实 IP。

🔄 更新与维护

执行更新命令:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) --update

备份配置文件:/etc/x-ui/x-ui.db 和 /usr/local/x-ui/bin/config.json。

查看日志:journalctl -u x-ui -f

🔌 如何连接 VPS

SSH 连接 · 密钥认证 · 安全加固

连接到您的 VPS 是管理服务器的基础。本教程涵盖 密码登录、SSH 密钥对 以及 安全配置建议,适用于 Windows、macOS 和 Linux 客户端。

🖥️ 方法一:密码登录(基础)

Linux / macOS 终端

ssh root@你的VPS_IP -p 22

输入密码后即可登录。若端口非默认,请使用 -p 端口号。

Windows (PuTTY / 终端)

使用 PuTTY 输入 IP 和端口,点击 Open 后输入用户名和密码。Windows 10/11 内置的 OpenSSH 客户端也可用:ssh root@IP。

🔑 方法二:SSH 密钥认证(推荐)

密钥登录更安全,免去每次输入密码的麻烦。

1. 生成密钥对(本地)

ssh-keygen -t ed25519 -C "your_email@example.com"

按提示保存(默认 ~/.ssh/id_ed25519),可设置密码短语(可选)。

2. 将公钥上传至 VPS

使用 ssh-copy-id 命令(Linux/macOS):

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的VPS_IP

或手动将公钥内容追加到 VPS 的 ~/.ssh/authorized_keys 文件中。

3. 测试密钥登录

ssh root@你的VPS_IP

若无需输入密码且能登录,则配置成功。

🛡️ SSH 安全加固

  • ✅ 修改默认端口:编辑 /etc/ssh/sshd_config,将 Port 22 改为其他高位端口(如 2222)。
  • ✅ 禁止 root 密码登录:设置 PermitRootLogin prohibit-password 或 no(仅允许密钥)。
  • ✅ 禁用密码认证:设置 PasswordAuthentication no,只允许密钥登录。
  • ✅ 配置防火墙:仅允许特定 IP 访问 SSH 端口(使用 ufw 或 iptables)。
  • ✅ 安装 Fail2ban:防止暴力破解。
# 重启 SSH 服务生效
systemctl restart sshd

💡 连接故障排查: 若无法连接,检查 VPS 防火墙是否开放端口,确认 SSH 服务运行状态 (systemctl status sshd),并查看云服务商的安全组规则。