网站Logo 时光杂货铺

本地连接内网配置(需要WireGuard)

admin
31
2026-01-11

⭐第一部分【服务器端】

✔ 1.1 安装 WireGuard 服务端依赖

Ubuntu 系统原生支持 WireGuard,执行命令一键安装:

sudo apt update && sudo apt install wireguard-tools -y

步骤 1:切换 root 超级管理员(解决所有权限问题)

sudo -i

执行后提示符变为 root@VM-4-8-ubuntu:~# ✔️

步骤 2:创建 WireGuard 目录并进入

mkdir -p /etc/wireguard && cd /etc/wireguard

步骤 3:生成服务端 + 本地客户端 4 个密钥(已生成,密钥信息已固定,无需重新生成)

wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key

用cat 命令查看

步骤 4:检查服务器真实网卡名称(核心前置步骤,避免 PostUp/PostDown 命令错误)

执行命令查看网卡信息,找到对应服务器内网 IP10.0.4.8的网卡名:

ip addr

✅ 服务器输出:

2: <此处是你的服务器网卡名称>: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 10.0.4.8/22 metric 100 brd 10.0.7.255 scope global eth0

✅ 确认:你的服务器真实网卡名是 eth0 ✔️

步骤 5:写入 WireGuard 服务端核心配置文件 wg0.conf(格式完美,无任何错误)

执行命令一键写入,已包含正确的网卡名eth0,无需手动编辑,杜绝格式乱:

cat > /etc/wireguard/wg0.conf <<EOF
[Interface]
PrivateKey = 你的_server_private.key
Address = 10.9.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -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
SaveConfig = true

[Peer]
PublicKey = 你的_client_public.key
AllowedIPs = 10.9.0.2/32
EOF

步骤 6:开启内核 IP 转发(永久生效,已验证成功)

sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

✅ 执行结果最后一行显示 net.ipv4.ip_forward = 1 ✔️

步骤 7:启动 WireGuard 服务端隧道 wg0(完美启动,无任何报错,核心步骤)

wg-quick up wg0

✅ 成功启动日志(你已执行的正确输出):

[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.9.0.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

步骤 8:验证 WireGuard 运行状态(100% 正常,所有配置匹配)

wg show wg0

✅ 正确输出(你已验证):

interface: wg0
  public key: 你的服务器公钥
  private key: (hidden)
  listening port: 51820

peer:你的本地公钥
  allowed ips: 10.9.0.2/32

✅ 核对要点:监听端口51820、本地公钥正确、允许 IP10.9.0.2/32 ✔️

步骤 9:防火墙状态确认(无任何拦截,最优状态)

ufw status

✅ 正确结果:Status: inactive → 防火墙关闭状态,所有端口(UDP51820/TCP3306)完全开放,无需额外放行,本机无任何网络阻隔 ✔️

⭐ 第二部分:【云服务器控制台 必做 - 最高优先级】安全组放行端口(唯一核心卡点)

你的服务器是腾讯云 / 阿里云 / 华为云的云服务器,云安全组优先级 > 服务器防火墙,这一步是本地能否连通的核心,必须配置!✅ 配置步骤:

  1. 登录你的云服务器控制台 → 找到【安全组 / 防火墙】菜单

  2. 点击【添加入站规则】,新增 2 条规则,配置如下(一字不差):

    • 规则 1:协议 UDP,端口 51820,来源 0.0.0.0/0,策略 允许

    • 规则 2:协议 TCP,端口 3306,来源 0.0.0.0/0,策略 允许

  3. 保存规则即可,生效时间 10 秒内 ✔️

⭐ 第三部分:【本地电脑】WireGuard 客户端 完整配置 + 操作步骤(100% 正确,无任何拼写 / 格式错误,你已核对)

你的本地电脑已安装 WireGuard 客户端,无需修改任何配置,直接用这份最终版,所有密钥 / IP 已填好,完美匹配服务端!

步骤 1:新建配置文件

本地新建一个文本文件,修改后缀为 .conf(比如 wg-ubuntu-mysql.conf

步骤 2:粘贴完整正确的配置内容(复制即用,无任何错误)

[Interface]
PrivateKey = 你的_client_private.key
Address = 10.9.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = 你的_server_public.key
Endpoint = 服务器端公网ip:51820
AllowedIPs = 10.0.4.8/32, 10.9.0.0/24
PersistentKeepalive = 25

✅ 所有配置核对无误:

  • 本地私钥正确、服务器公钥正确、公网 IP + 端口正确

  • AllowedIPs 精准指向服务器内网,只走隧道流量,不影响本地上网

  • PersistentKeepalive = 25 拼写正确,防止隧道断开 ✔️

步骤 3:导入并激活隧道

  1. 打开本地 WireGuard 客户端 → 左上角【导入隧道 (文件或存档)】→ 选中上面的.conf文件

  2. 导入后,点击隧道右侧的【激活】按钮 → 客户端显示「已激活」,无任何报错 ✔️

    ✅ 激活成功日志(你已看到):Receiving handshake responseReceiving keepalive packet → 代表本地 ↔ 服务器 隧道已成功建立 ✔️

⭐ 第四部分:【本地验证】测试服务器内网连通性(必做,验证隧道是否打通)

本地电脑打开「CMD 命令提示符」或「终端」,执行以下命令:

ping 10.0.4.8

✅ 成功标准(必出这个结果):

来自 10.0.4.8 的回复: 字节=32 时间=10~20ms TTL=64
来自 10.0.4.8 的回复: 字节=32 时间=10~20ms TTL=64

✅ 结论:能 ping 通 → 本地和服务器内网 加密隧道彻底打通,无任何网络阻隔 ✔️