找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8|回复: 1

省下90%VPN费用,腾讯云东京+WireGuard,打造你的专属高速VPN

[复制链接]

4

主题

3

回帖

22

积分

管理员

积分
22

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 前天 14:54 | 显示全部楼层 |阅读模式
省下90%VPN费用,腾讯云东京+WireGuard,打造你的专属高速VPN



img
[size=1em]腾讯云东京2核4G服务器的完整WireGuard配置方案,从服务端到客户端一步到位。
前提
  • • 腾讯云东京2核4G服务器(不一定非要是东京)
  • • 手机能下载WireGuard
一、服务端配置1. 安装WireGuard


# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装WireGuard(Ubuntu 20.04+已内置,只需安装工具)
sudo apt install wireguard wireguard-tools -y

# 验证安装
wg --version


img2. 生成密钥对


# 进入配置目录
cd /etc/wireguard

# 生成服务器私钥和公钥
wg genkey | tee server_privatekey | wg pubkey > server_publickey

# 查看密钥(记下来,后面要用)
cat server_privatekey  # 服务器私钥,保密
cat server_publickey   # 服务器公钥,给客户端用


img3. 创建配置文件


sudo nano /etc/wireguard/wg0.conf


粘贴以下内容(替换为你的实际参数):



[Interface]
# 服务器私钥
PrivateKey = <粘贴server_privatekey的内容>
# VPN内网IP,服务器作为网关
Address = 10.200.200.1/24
# 监听端口,建议用高位端口
ListenPort = 51820
# 启用IP转发和NAT(eth0是你的网卡名,用ip addr确认)
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# DNS(可选,用腾讯云DNS或Google DNS)
DNS = 119.29.29.29, 8.8.8.8
# 保持连接(对移动端很重要)
PersistentKeepalive = 25

# 客户端1(手机)
[Peer]
PublicKey = <客户端1公钥,稍后生成>
AllowedIPs = 10.200.200.2/32

# 客户端2(电脑)
[Peer]
PublicKey = <客户端2公钥,稍后生成>
AllowedIPs = 10.200.200.3/32


img4. 启用IP转发


# 临时启用
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

# 永久启用
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p


img5. 配置防火墙和腾讯云安全组
服务器本地防火墙(UFW):



# 安装UFW(如未安装)
sudo apt install ufw -y

# 放行SSH(别把自己锁外面!)
sudo ufw allow 22/tcp

# 放行WireGuard UDP端口
sudo ufw allow 51820/udp

# 启用防火墙
sudo ufw enable

# 检查状态
sudo ufw status verbose


img
腾讯云控制台安全组配置:
  • 1. 登录 腾讯云控制台 → 云服务器 → 安全组
  • 2. 找到你的东京服务器绑定的安全组 → 修改规则
  • 3. 入站规则 → 添加规则:
    • 1. 协议:UDP
    • 2. 端口:51820
    • 3. 源IP:0.0.0.0/0(或限制为你的常用IP)

6. 启动WireGuard服务


# 启动wg0接口
sudo wg-quick up wg0

# 验证运行状态
sudo wg show

# 设置为开机自启
sudo systemctl enable wg-quick@wg0

# 查看服务状态
sudo systemctl status wg-quick@wg0


imgimg二、客户端配置客户端1:手机(iOS/Android)img
生成客户端密钥对(在服务器上执行):



# 生成手机端密钥
wg genkey | tee client1_privatekey | wg pubkey > client1_publickey

# 查看公钥,添加到服务端配置
cat client1_publickey


添加到服务端配置:



sudo nano /etc/wireguard/wg0.conf


在末尾添加:



[Peer]
PublicKey = <client1_publickey的内容>
AllowedIPs = 10.200.200.2/32


重载服务端配置:



sudo wg-quick down wg0 && sudo wg-quick up wg0


手机端配置文件(client1.conf):



[Interface]
PrivateKey = <client1_privatekey的内容>
Address = 10.200.200.2/24
DNS = 119.29.29.29, 8.8.8.8

[Peer]
PublicKey = <服务器公钥server_publickey>
Endpoint = <你的腾讯云公网IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0  # 0.0.0.0/0表示全局代理
PersistentKeepalive = 25


手机端操作:
  • 1. 下载 WireGuard App(App Store / Google Play)
  • 2. 创建隧道 → 扫描二维码或从文件导入
  • 3. 生成二维码命令(服务器上):
    • 1.


      qrencode -t ansiutf8 < client1.conf


客户端2:电脑(Windows/Mac/Linux)

生成密钥对:



wg genkey | tee client2_privatekey | wg pubkey > client2_publickey


电脑端配置文件(client2.conf):



[Interface]
PrivateKey = <client2_privatekey>
Address = 10.200.200.3/24
DNS = 119.29.29.29, 8.8.8.8

[Peer]
PublicKey = <服务器公钥>
Endpoint = <腾讯云公网IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25


Windows/Mac: 下载WireGuard官方客户端 → 导入配置文件
Linux:sudo wg-quick up ./client2.conf
三、常用管理命令[td]
命令作用
sudo wg show查看所有连接状态
sudo wg show wg0 peer <公钥>查看特定客户端流量
sudo systemctl restart wg-quick@wg0重启服务
sudo wg-quick down wg0停止接口
sudo wg set wg0 peer <公钥> remove移除客户端
四、关键检查清单
  • • 腾讯云安全组放行UDP 51820
  • • 服务器UFW防火墙放行51820
  • • /etc/sysctl.conf中net.ipv4.ip_forward=1
  • • 配置文件中的eth0与实际网卡名一致(用ip addr确认)
  • • 客户端AllowedIPs包含PersistentKeepalive = 25(防NAT超时)
  • • 服务端PostUp/PostDown中的iptables规则正确
五、进阶优化(可选)
1. 修改MTU优化传输:
在[Interface]段添加:



MTU = 1280  # 腾讯云内网通常用1400或1280


2. 多客户端批量生成脚本:



#!/bin/bash
# create_client.sh
CLIENT_NAME=$1
CLIENT_IP=$2  # 如 10.200.200.4

wg genkey | tee ${CLIENT_NAME}_privatekey | wg pubkey > ${CLIENT_NAME}_publickey

echo "[Peer]" >> /etc/wireguard/wg0.conf
echo "PublicKey = $(cat ${CLIENT_NAME}_publickey)" >> /etc/wireguard/wg0.conf
echo "AllowedIPs = ${CLIENT_IP}/32" >> /etc/wireguard/wg0.conf

echo "客户端配置已生成,IP: ${CLIENT_IP}"


3. 查看实时流量统计:



watch -n 1 'sudo wg show'


六、安装qrencode DNS解析失败
DNS解析失败,mirrors.tencentyun.com 这个域名解析不了。这是腾讯云内网源,但你的服务器可能没配置内网DNS。
快速解决(换公网源)


# 1. 恢复官方源(或换阿里云/清华公网源)
sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list 2>/dev/null || echo "备份不存在"

# 直接写入阿里云源(东京服务器访问很快)
sudo tee /etc/apt/sources.list > /dev/null << 'EOF'
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
EOF

# 2. 更新并安装
sudo apt update
sudo apt install qrencode -y


如果还是解析失败(DNS问题)


# 检查DNS
cat /etc/resolv.conf

# 临时修复:用Google DNS
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
sudo apt update && sudo apt install qrencode -y


其实 qrencode 不是必须的!
替代方案——直接显示配置文本,手动输入或复制:



# 生成客户端配置文件后,直接cat显示
cat /etc/wireguard/client1.conf

# 或者生成base64链接(手机浏览器访问)
cat client1.conf | base64


手机端可以手动创建配置,比装qrencode快多了。
现在执行:



sudo tee /etc/apt/sources.list > /dev/null << 'EOF'
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
EOF

sudo apt update && sudo apt install qrencode -y


不行就直接跳过qrencode,手动配置。
七、手动配置步骤
手动配置很简单,不需要qrencode。以下是完整步骤:
服务端:生成客户端配置并显示


cd /etc/wireguard

# 1. 生成客户端1的密钥对(手机用)
wg genkey | tee client1_privatekey | wg pubkey > client1_publickey

# 2. 查看公钥(复制这串字符)
cat client1_publickey
# 输出示例:aBcD1234...(很长的base64字符串)

# 3. 添加到服务端配置
sudo nano /etc/wireguard/wg0.conf


在末尾添加:



[Peer]
PublicKey = <粘贴刚才cat显示的公钥>
AllowedIPs = 10.200.200.2/32
PersistentKeepalive = 25


重启服务:



sudo wg-quick down wg0 && sudo wg-quick up wg0


创建客户端配置文件


# 创建手机端配置文件
sudo tee /etc/wireguard/client1.conf > /dev/null << EOF
[Interface]
PrivateKey = $(cat client1_privatekey)
Address = 10.200.200.2/24
DNS = 119.29.29.29, 8.8.8.8

[Peer]
PublicKey = $(cat server_publickey)
Endpoint = $(curl -s ifconfig.me):51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
EOF

# 显示完整配置(复制到手机)
cat /etc/wireguard/client1.conf


手机端手动配置(iOS示例)
1. 下载 WireGuard App
2. 创建隧道 → 手动创建
3. 填写配置:
[td]
字段填写内容
名称东京VPN(随便取)
私钥粘贴client1_privatekey的内容
公钥自动生成,不用管
地址10.200.200.2/24
DNS服务器119.29.29.29, 8.8.8.8
4. 添加Peer(对端):
[td]
字段填写内容
公钥粘贴server_publickey的内容
预共享密钥留空
持续keepalive25
端点你的腾讯云公网IP:51820
允许的IP0.0.0.0/0, ::/0
5. 保存并连接
快速复制脚本(一键生成)


#!/bin/bash
cd /etc/wireguard

# 生成客户端
CLIENT_NAME="client1"
CLIENT_IP="10.200.200.2"

wg genkey | tee ${CLIENT_NAME}_privatekey | wg pubkey > ${CLIENT_NAME}_publickey

# 添加到服务端
echo "
[Peer]
PublicKey = $(cat ${CLIENT_NAME}_publickey)
AllowedIPs = ${CLIENT_IP}/32
PersistentKeepalive = 25" | sudo tee -a /etc/wireguard/wg0.conf

# 生成客户端配置
SERVER_PUB=$(cat server_publickey)
SERVER_IP=$(curl -s ifconfig.me)
CLIENT_PRIV=$(cat ${CLIENT_NAME}_privatekey)

echo "
========== 手机端配置 ==========
[Interface]
PrivateKey = ${CLIENT_PRIV}
Address = ${CLIENT_IP}/24
DNS = 119.29.29.29, 8.8.8.8

[Peer]
PublicKey = ${SERVER_PUB}
Endpoint = ${SERVER_IP}:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
================================
复制以上内容到手机WireGuard App" | sudo tee ${CLIENT_NAME}.conf

# 重启服务
sudo wg-quick down wg0 && sudo wg-quick up wg0

# 显示配置
cat ${CLIENT_NAME}.conf


保存为脚本执行,或直接复制上面分段命令。
验证连接
手机连接后,在服务端查看:



sudo wg show


看到latest handshake有时间就是成功了!
现在执行生成密钥和显示配置的命令,把输出的内容复制到手机即可。



4

主题

3

回帖

22

积分

管理员

积分
22

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 前天 14:55 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|九江sz测试论坛

GMT+8, 2026-3-25 20:01 , Processed in 0.040425 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表