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.11.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.11.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-passwordno(仅允许密钥)。
  • 禁用密码认证:设置 PasswordAuthentication no,只允许密钥登录。
  • 配置防火墙:仅允许特定 IP 访问 SSH 端口(使用 ufw 或 iptables)。
  • 安装 Fail2ban:防止暴力破解。
# 重启 SSH 服务生效
systemctl restart sshd

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