banner
约 900 字
3 分钟

零基础教程:在 NAT VPS 上极简搭建 MTProto 代理

2026年4月6日
无标签

摘要

本教程针对内存较小的 NAT VPS,介绍如何极简搭建 MTProto 代理。通过直接运行 mtg v2 二进制文件,有效避免资源耗尽。步骤涵盖:下载安装、生成 FakeTLS 密钥、配置 Systemd 服务及生成 Telegram 链接。此外,还提供了端口不通排查及日志查看等常见问题解决方案。

🚀 零基础教程:在 NAT VPS 上极简搭建 MTProto (mtg v2) 代理

背景说明

NAT VPS(共享 IP 的虚拟机)通常价格极低,但由于内存较小(通常为 256M 或 512M)且不提供标准的 443 端口,强行使用 Docker 搭建代理容易导致系统崩溃或资源耗尽。

本教程采用直接运行 mtg v2 二进制文件的方式,内存占用极低(仅约 2MB),且自带 FakeTLS 伪装(将流量伪装成正常的网站访问),是 NAT 服务器的绝佳选择。


🛠️ 准备工作

在开始之前,请明确你的 NAT 服务器的以下两个信息:

信息

示例

公网 IP(或 DDNS 域名)

198.51.100.10

服务商分配的专属可用端口

10010

⚠️ 请确保在服务商的控制面板中,该端口的 TCP 防火墙/安全组已经放行!


第一步:下载并安装 mtg 主程序

通过 SSH 连接到你的服务器,依次运行以下命令:

bash
# 1. 下载 mtg v2 压缩包(以 amd64 架构为例)
wget https://github.com/9seconds/mtg/releases/download/v2.1.7/mtg-2.1.7-linux-amd64.tar.gz

# 2. 解压文件
tar -zxvf mtg-2.1.7-linux-amd64.tar.gz

# 3. 将程序移动到系统目录
mv mtg-2.1.7-linux-amd64/mtg /usr/local/bin/

# 4. 清理安装包
rm -rf mtg-2.1.7-linux-amd64*

第二步:生成 FakeTLS 伪装密钥

运行以下命令,生成将流量伪装成访问 cloudflare.com 的专属密钥:

bash
mtg generate-secret cloudflare.com

⚠️ 注意:执行后终端会输出一串很长的字符(例如 7nQeHP...)。请务必将其复制并保存,下一步会用到。


第三步:配置 Systemd 守护进程(开机自启)

1. 新建服务配置文件

bash
nano /etc/systemd/system/mtg.service

2. 粘贴以下内容

10010 替换为你的 NAT 端口,将 你的长密钥 替换为第二步生成的字符串。

ini
[Unit]
Description=MTProto Proxy (mtg v2)
After=network.target

[Service]
ExecStart=/usr/local/bin/mtg simple-run 0.0.0.0:10010 你的长密钥
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

3. 保存并退出

Ctrl + O 保存 → 按 Enter 确认 → 按 Ctrl + X 退出

💡 避坑提示:mtg v2 必须使用 simple-run 参数,旧版本的 -b 参数已失效。


第四步:启动代理服务

bash
# 重新加载服务配置
systemctl daemon-reload

# 启动 mtg 并设置开机自启
systemctl enable --now mtg

# 查看运行状态
systemctl status mtg

如果看到绿色的 active (running) 字样,代理已在后台稳定运行。✅


第五步:生成直连链接并在 Telegram 中使用

按以下格式拼接你的专属链接:

纯文本
tg://proxy?server=你的公网IP&port=你的NAT端口&secret=你的密钥

示例(IP: 198.51.100.10,端口: 10010,密钥: 7nQe...):

纯文本
tg://proxy?server=198.51.100.10&port=10010&secret=7nQe...

连接步骤

  1. 复制完整链接

  2. 发送到 Telegram 任意聊天窗口(推荐发到「Saved Messages / 收藏夹」)

  3. 在 Telegram 内点击该链接

  4. 在弹出窗口中点击 "Connect Proxy"(连接代理)

  5. 顶部出现带对勾的盾牌图标 🛡️,即表示连接成功!


❓ 常见问题排查(FAQ)

Q:代理显示已启动,但 Telegram 一直转圈连不上?

A:99% 的概率是端口不通。请登录 VPS 服务商控制面板,检查防火墙(Security Group)是否放行了对应 NAT 端口的 TCP 流量。


Q:如何查看代理报错日志?

bash
systemctl status mtg
# 或查看完整日志
journalctl -u mtg.service -e

Q:如何修改端口或密钥?

bash
# 编辑配置文件
nano /etc/systemd/system/mtg.service

# 保存后重载并重启服务
systemctl daemon-reload
systemctl restart mtg

END

相关文章

暂无相关文章

© 2026 作者. All Rights Reserved. / RSS / Sitemap
Powered by Tanstack Start & Flare Stack Blog