Knowledge VaultReading Workbench
Reading Detail

【手把手教程】从购买服务器到自建节点的全流程教学

IDC Flare - 最新话题 · 2026-04-18
#教程
Open Original
archivedone

Snapshot Reader

Captured
不知不觉就注册一个月了,在我刚注册两天的时候,分享过一个经验贴广受佬友们的好评

而最近据说机场过的不太平,我一直以来使用自建节点,也发过节点的拼车,那么我再给大家分享一下从服务器选购到节点搭建的全流程。

本教程不包含任何aff和推广。

本篇教程特别感谢猫猫佬 @ICMPMeow ,本文大量引用猫猫佬的帖子,我大部分知识也从他的帖子学来。

推荐了解一些名词来更好地阅读文章:机圈黑话/专有名词扫盲(持续更新ing)


1. 选择服务器

我们搭建节点选择服务器无非就看两件事:机器线路IP质量

1.1 机器线路是什么?

机器线路就是你与服务器进行网络通信时数据包"赶路"所经历的路径:

  • 去程 :你发送请求给服务器的路。
  • 回程 :服务器把数据(如视频、网页)传回给你的路。

我们搭建代理节点原理就是这样。中间走不同的网络线路对于传播延迟与丢包等肯定有非常大的影响。

一般来说,我们走的线路都是 163、4837、CMI 这样的普通骨干网,一到晚高峰,延迟和丢包率显著上升导致连接服务器的体验不佳。
因此,很多服务商提供了针对中国大陆连接优化的线路机,这些线路机走一些运营商精品线路如CN2、9929、CMIN2 等,让你即使在高峰也不用去挤大家都在用的骨干网,体验自然就上升了,当然成本也是随之提高。

各个运营商关于线路的情况不同,对于线路科普想深入了解的请看:

1.2 IP质量是什么?

我们使用代理服务器上网,访问网站用的IP就是我们代理服务器的IP。代理服务器的IP质量决定了网站对我们的风控。

  • 原生 IP:IP 注册地址与服务器机房物理位置一致。
  • 广播 IP:商家通过技术手段,把别的地方的 IP 广播到另一个地方用。
  • 机房 IP:绝大多数 VPS 厂商提供的都是机房 IP。
  • 住宅 IP:“家宽”,固定的运营商IP,就像真正的居民一样。

购买服务器大概了解这些类型的IP就可以,一般来说原生IP > 广播IP,住宅IP >> 机房IP。

流媒体解锁: IP是否能够解锁了一些流媒体如netflix、tiktok等,IP是否能够访问一些AI服务如chatgpt、claude等,IP是否被google标记为中国地区(即"送中")。

一般来说,普通的科学上网用正常的机房IP就可以,如果有特殊需求如AI、tiktok等,可以选择解锁比较好的原生机房IP或者家宽IP。如有运营养号需求(如claude、tiktok、电商等)建议使用家宽IP,想让AI不降智不一定非要用家宽IP,好一点的机房IP也可以。

对于IP质量的深度检测与科普请看:

1.3 如何选购服务器?

选购服务器搭建节点前,请明确自己的需求,除非你一定要AI养号或者电商运营,不要一上来就追求线路机+家宽IP组合拳,大部分的需求好一点的机房IP就可以做到了。
本人因为大量使用AI,是 DMIT 线路机 + AI与google服务落地Frontier静态家宽 的组合。

对于各种地区类型服务器厂商的详细推荐与评测请看猫猫佬帖子:

或者上 IDC flare 多逛逛看看别人的测评与推荐。

服务器系统选择 debian 12ubuntu 22.04


2. 服务器安全初始化

以下是服务器厂商没有自动生成ssh密钥对和没有服务器防火墙面板的情况,如果有可以跳过或更改对应的秘钥生成或防火墙配置步骤。有问题可以直接问AI发生了什么。

未安装sudo的服务器请先在root下使用apt update && apt install -y sudo安装sudo。

2.1 生成密钥对

本地终端窗口执行

# 生成 ed25519 密钥对,邮箱仅标识可以随意更换,连续按 3 次回车(不设置密钥密码,使用默认路径)
ssh-keygen -t ed25519 -C "[email protected]"

# 查看本地公钥内容
cat ~/.ssh/id_ed25519.pub

2.2 初始连接与公钥上传

本地终端窗口执行

#使用 root 密码登录服务器
ssh root@你的服务器IP

# 创建.ssh目录并设置权限
mkdir -p /root/.ssh
chmod 700 /root/.ssh

# 写入公钥(替换为你复制的公钥内容)
echo "你复制的完整公钥内容" >> /root/.ssh/authorized_keys
# 设置文件权限
chmod 600 /root/.ssh/authorized_keys

新开一个本地终端窗口执行

ssh root@你的服务器IP

成功:不需要输入密码直接登录

2.3 创建免密 sudo 新用户

连接服务器终端执行

# 创建新用户,可以替换 deer 为你喜欢的名字
useradd -m -s /bin/bash deer
# 设置用户密码
passwd deer

# 复制 SSH 密钥给 deer 用户
cp -r /root/.ssh /home/deer/
chown -R deer:deer /home/deer/.ssh

# 配置免密sudo权限
echo 'deer ALL=(ALL) NOPASSWD: ALL' | tee /etc/sudoers.d/deer-nopasswd
chmod 0440 /etc/sudoers.d/deer-nopasswd
# 验证sudo配置语法
visudo -c -f /etc/sudoers.d/deer-nopasswd

新开一个本地终端执行

ssh deer@你的服务器IP
sudo whoami

成功:输出 root,不需要输入密码

2.4 关闭 root 登录和密码登录

连接服务器终端执行

# 开启公钥认证
sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config

# 禁止root登录
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config

# 禁止密码登录
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config

# 验证配置语法(无任何输出:语法正确)
sudo sshd -t

# 重启 SSH 服务
sudo systemctl restart sshd
# 或sudo systemctl restart ssh

每条指令新开一个本地终端执行

# 测试deer用户登录
ssh deer@你的服务器IP

# 测试root登录被拒绝
ssh root@你的服务器IP

# 测试密码登录被拒绝
ssh -o PreferredAuthentications=password deer@你的服务器IP

# 如果仍然可以密码登录,说明配置被云服务器厂商默认配置覆盖,先查看,可以看到有 Yes
sudo grep -r "PasswordAuthentication" /etc/ssh/sshd_config.d/
# 更改所有的配置文件的密码登录为 no
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config.d/*.conf
# 重启 SSH 服务,再次进行密码登录测试
sudo systemctl restart sshd

2.5 更换 SSH 端口并配置配置 UFW 防火墙

连接服务器终端执行(严格按照顺序

# 修改 SSH 端口配置(端口自选,自行替换)
sudo sed -i 's/^#Port 22/Port 26547/' /etc/ssh/sshd_config
sudo sed -i 's/^Port 22/Port 26547/' /etc/ssh/sshd_config
# 验证配置语法
sudo sshd -t

# 安装并重置 UFW
sudo apt update
sudo apt install -y ufw
# 输入y确认
sudo ufw reset
# 设置默认规则,禁止一切入站,允许一切出站
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 放行新 SSH 端口
sudo ufw allow 26547/tcp
# 重启 SSH 服务
sudo systemctl restart sshd
# 启用防火墙
sudo ufw enable
# 查看防火墙状态,只能看到 26547/tcp 被允许
sudo ufw status

别关这个终端,新开一个本地终端执行

# 测试连接
ssh deer@你的服务器IP -p 26547

连接成功!

2.6 本地 SSH config 配置

编辑本地~/.ssh/config文件,添加以下内容:

Host myserver #服务器别名,可自行更改
  HostName xx.xx.xx.xx #你的服务器IP
  User deer # 你的用户名
  Port 26547 # 你更改的 ssh 端口
  IdentityFile C:\Users\你的用户名\.ssh\id_ed25519 #请改为你的实际地址

本地终端窗口执行

# 测试别名登录
ssh myserver

成功:免密直接登陆。

至此,我们完成了服务器安全加固并且能够方便地连接服务器了。


3. 服务器网络与IP质量测评

这是我的两个服务器的测试帖子,当做样例:
【自用测评】DMIT-LAX.AN4.Pro.TINY 三网顶级线路 1000GB@1Gbps
【自用测评】AaITR 美国Frontier静态家宽 完美家宽IP

3.1 网络测试

网络质量:

可以使用 GitHub - xykt/NetQuality: 网络质量检测脚本 检测网络质量。

连接服务器终端执行

# 切换到 root 环境
sudo -i
# 运行测试脚本
bash <(curl -Ls https://Check.Place) -N

选择完整模式运行,可以看到全国各地连接到服务器的延迟怎么样。

image

回程路由:

运行同样的脚本,选择完整回程路由,可以看到服务器回程走的具体是什么线路。

image

3.2 IP质量测试

IP质量:

可以使用 GitHub - xykt/IPQuality: IP质量检测脚本 检测IP质量。

连接服务器终端执行

# 切换到 root 环境
sudo -i
# 运行测试脚本
bash <(curl -Ls https://Check.Place) -I

可以看到各个常见IP库的检测情况和常见流媒体的解锁情况。

image

流媒体解锁:

可以使用 GitHub - lmc999/RegionRestrictionCheck 检测详细的流媒体解锁情况。
连接服务器终端执行

# 切换到 root 环境
sudo -i
# 运行测试脚本
bash <(curl -L -s check.unlock.media)

选择对应的区域,得到详细的流媒体解锁结果。

============[ Multination ]============
 Dazn:                                  Yes (Region: US)
 Disney+:                               Yes (Region: US)
 Netflix:                               Yes (Region: US)
 YouTube Premium:                       Yes (Region: US)
 Amazon Prime Video:                    Yes (Region: US)
 TVBAnywhere+:                          Yes
 Spotify Registration:                  No
 OneTrust Region:                       US [California]
 iQyi Oversea Region:                   US
 Bing Region:                           US (Risky)
 Apple Region:                          US
 YouTube CDN:                           Los Angeles, CA
 Netflix Preferred CDN:                 Los Angeles, CA
 ChatGPT:                               Yes
 Google Gemini:                         Yes (Region: USA)
 Claude:                                Yes
 Wikipedia Editability:                 Yes
 Google Play Store:                     United States 
 Google Search CAPTCHA Free:            Yes
 Steam Currency:                        USD
 ---Forum---
 Reddit:                                Yes
 ---Game---
 SD Gundam G Generation Eternal:        Yes
=======================================
===========[ North America ]===========
 Paramount+:                            Yes (Region: US)
 Discovery+:                            Yes (Region: US)
 Acorn TV:                              Yes
 BritBox:                               Yes
 SonyLiv:                               No (Content not found)
 NBA TV:                                Yes
 TLC GO:                                Yes (Region: US)
 Shudder:                               Yes
 Fubo TV:                               Yes (Region:US)
 Tubi TV:                               Yes
 Pluto TV:                              Yes
 KOCOWA:                                Yes
 AMC+:                                  Yes (Region: USA)
 MathsSpot Roblox:                      Failed (Error: PAGE ERROR)
 ---US---
 FOX:                                   Yes
 Hulu:                                  Yes
 NFL+:                                  Yes
 ESPN+:[Sponsored by Jam]               Yes
 MGM+:                                  Yes
 Starz:                                 Failed (Error: PAGE ERROR)
 Philo:                                 Yes
 FXNOW:                                 Yes
 HBO Max:                               Yes (Region: US)
 Crackle:                               Failed (Network Connection)
 CW TV:                                 Yes
 A&E TV:                                Yes
 NBC TV:                                Yes
 Sling TV:                              Yes
 encoreTVB:                             Yes
 Peacock TV:                            Yes
 Popcornflix:                           Failed (Network Connection)
 Crunchyroll:                           Yes
 Directv Stream:                        Yes
 Meta AI:                               Failed (Error: PAGE ERROR)
 ---CA---
 HotStar:                               No (Discontinued in the US)
 CBC Gem:                               No
 Crave:                                 No
=======================================

IP质量更深入的测试可以看上文贴的 VPS IP质量检测完全指南。

3.3 融合测试

一个个脚本一项项测试太麻烦了,我们可以直接用脚本进行融合测试。
GitHub - LloydAsp/NodeQuality: 在沙箱环境中运行vps测试脚本,并排版测试结果

# 切换到 root 环境
sudo -i
# 运行测试脚本
bash <(curl -sL https://run.NodeQuality.com)

测试结果可能5-10分钟较久,测试完成打开给出的nodequality结果网页,可以直接看到服务器的基本信息、IP质量、网络质量和回程路由四项测试结果。

image

至此,我们基本完成了对服务器的质量测试。想要了解更多测试脚本的请看猫猫佬的帖子:


4.节点搭建

每搭建一个节点,请记得通过 sudo ufw allow 端口/tcp 放行对应的节点端口( UDP 协议放行UDP端口)!!!

4.1 一键脚本搭建

对于自用,其实没必要上面板,直接使用一键脚本。
GitHub - 233boy/sing-box 最好用的 sing-box 一键安装脚本 & 管理脚本

# 切换到 root 环境
sudo -i
# 运行安装脚本
bash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh)

安装后会自动创建一个VLESS-REALITY的节点,我们可以看到节点的信息以及一个vless://开头的链接URL。

对于v2rayN:复制链接后在软件界面ctrl+v使用。
对于Clash系:需要将vless://开头的链接转换为clash的yaml配置文件,可以网上寻找转换工具,或者直接丢给AI让他帮你转换成配置文件即可。然后在clash订阅界面中拖入配置文件使用。

如果你需要管理节点可以输入 sudo sb 进入脚本菜单,有选项界面便捷好用。

4.2 3x-ui面板搭建

如果是多人使用或者想精细化管理等,可以使用
GitHub - MHSanaei/3x-ui: Xray panel
3x-ui面板来搭建节点。

4.2.1 3x-ui面板安装

# 放行 80 与 443 端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 切换到 root 环境
sudo -i
# 安装3x-ui面板,连按四下回车
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

安装完成后我们可以看到下面的信息:

═══════════════════════════════════════════
     Panel Installation Complete!         
═══════════════════════════════════════════
Username:    xxx
Password:    xxx
Port:        xxx
WebBasePath: xxx
Access URL:  https:x
═══════════════════════════════════════════

某些系统安装会出现SSL证书的路径的错误BUG,需要通过http直接打开面板登录,在面板设置里面手动指定安装好的证书路径。出现问题不懂的直接去找AI帮你!

使用 ufw allow 面板端口/tcp 放行面板的端口。
执行 x-ui ,选择 6 然后输入 y 更改我们的用户名和密码,然后连按两下回车。

现在访问我们的 Access URL,输入用户名和密码,成功进入面板。

image

如何用域名来访问面板和节点?

你有一个域名,并且已经托管到了cloudflare :

打开cloudflare的域名DNS记录,名称随便你写,添加一条指向你服务器IP的仅DNS的解析记录,保存。

image

执行 x-ui ,选择 19,然后选择 1,输入刚才添加的解析记录子域名名称.你的域名.com,回车,选择 y,option选择 0,然后选择 y,我们现在得到了新的用域名访问的 Access URL,并且以后我们的节点地址也是我们的域名了。

4.2.2 节点的搭建

点击 入站列表添加入站协议 vless安全 RealityGet New Cert创建
这样我们得到了一个 vless + reality 节点。(记得放行端口)

image

点击二维码复制订阅链接。
点击菜单下的 编辑 可以编辑节点信息,包括备注、端口、流量等等。

4.2.3 节点的中转与分流

xray设置更改的设置都需要点击保存重新启动 Xray

有些佬友可能买了家宽或者一些落地IP,直接访问的体验不好,可以通过线路机或者其他机器进行中转

在中转机的3x-ui面板点击 xray设置出站规则添加出站JSON,粘贴你的落地节点的链接,然后点一下旁边的按钮解析。点击添加出站

如果你是只想中转一下,所有访问都用落地的IP,那么点击路由规则添加规则Inbound Tagsinbound-你的节点端口Outbound Tag选择你刚才添加的出站名称。
此时所用通过你选择的节点端口的流量都会转发给你的落地节点。

如果佬友们想正常服务就用中转机访问,只有AI以及谷歌服务等高风控场景才用落地或者家宽的节点来访问,可以添加分流
点击入站列表节点菜单下的 编辑Sniffing开启
点击xray设置高级配置路由规则,在JSON文件后面添加下面的内容(删除"inboundTag"就是所有节点都遵守分流)

{
    "type": "field",
    "inboundTag": [
      "inbound-你要分流的节点",
      "inbound-你要分流的节点"
    ], 
    "domain": [
      "geosite:google",
      "geosite:youtube",
      "domain:aistudio.google.com",
      "domain:googleapis.com",
      "domain:gstatic.com",
      "domain:ggpht.com",
      "domain:googlevideo.com",
      "domain:ytimg.com",
      "domain:youtubei.googleapis.com",
      "domain:gemini.google.com",
      "domain:ai.google.dev",
      "domain:deepmind.google",
      "domain:notebooklm.google",
      "domain:openai.com",
      "domain:chatgpt.com",
      "domain:oaistatic.com",
      "domain:oaiusercontent.com",
      "domain:anthropic.com",
      "domain:claude.ai",
      "domain:perplexity.ai",
      "domain:poe.com",
      "domain:huggingface.co",
      "domain:cohere.com",
      "domain:mistral.ai",
      "domain:x.ai",
      "domain:grok.com",
      "domain:groq.com",
      "domain:stability.ai",
      "domain:stability.com",
      "domain:midjourney.com",
      "domain:runwayml.com",
      "domain:runwayml.cloud",
      "domain:character.ai",
      "domain:elevenlabs.io",
      "domain:suno.com",
      "domain:replicate.com",
      "domain:cursor.com",
      "domain:cursor.sh",
      "domain:bolt.new",
      "domain:lovable.dev",
      "domain:replit.com",
      "domain:phind.com",
      "domain:you.com",
      "domain:ipdata.co",
      "geosite:figma",
      "domain:figma.com",
      "domain:figma.site",
      "domain:figmastatic.com"
    ],
    "outboundTag": "你的落地节点名称"
  }

这个配置覆盖了一般的AI服务和所有google服务与youtube(防止google风控),使用的时候需要关闭google与metaai的定位防止送中。有其他想分流的域名和服务可以让AI继续给你加。

clash软件的中转和分流功能强大,自建节点脚本可以通过clash来分流:


5.发车与拼车管理

线路机和家宽都很贵,一般都会拼几个人一同分担成本。

作为车主,你已经学会了3x-ui面板的搭建、节点的创建和管理、节点的中转与分流了,可以放心发车了,在发车前,打开记录日志防止纠纷(记得定期清理):
点击 xray设置基础配置访问日志./access.log
到时候可以通过AI分析日志看看是否有人滥用。

可以到我 IDC Flare 的主页看看我的发车模板,规则与价格一定要写清楚。
不建议通过这个赚钱,只建议把这个作为分摊成本享受高质量自建节点的一种方法。

作为车友,上车不要滥用,共同长久稳定地用节点对每个人都好。


以上都是个人摸索和使用的经验总结,如有错误欢迎佬友们批评指正!点个赞支持一下吧~

9 个帖子 - 9 位参与者

阅读完整话题