Skip to content

备用WireGuard穿透方案

0
2026-11-08

下面为你重新整理一份包含所有避坑补丁、从零到成功申请 SSL 证书的终极完整版操作手册。以后重装或在新机器部署,直接按顺序复制即可一次跑通。


第一阶段:在谷歌云 (GCP) 部署 WireGuard 服务端

  1. 开启 BBR 加速与内核转发 在 GCP 终端执行以下命令:


    Bash

    echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
    echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    

    验证: 终端输出中包含 net.ipv4.ip_forward = 1 和 bbr 即为生效。

  2. 下载并运行安装脚本


    Bash

    curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
    chmod +x wireguard-install.sh
    sudo ./wireguard-install.sh
    
  3. 填写安装向导(关键避坑参数)


    • IPv4 or IPv6 public address: 必须手动改成 GCP 的外部公网 IP(35.220.240.98),绝不能用默认的 10.x.x.x 内网 IP。

    • Public interface: 保持默认(如 ens4),回车。

    • WireGuard interface name: 保持默认(wg0),回车。

    • Server WireGuard IPv4: 保持默认(10.66.66.1),回车。

    • Server WireGuard IPv6: 保持默认,回车。

    • Server WireGuard port: 手动输入 4433(避开默认的 51820,防止被国内运营商阻断)。

    • First / Second DNS resolver: 保持默认,回车。

    • Allowed IPs list: 保持默认,回车开始安装。

    • Client name: 输入 arm 并回车,后续的 Client IP 一路回车保持默认(分配给 ARM 机 10.66.66.2)。

  4. 查看并复制生成的客户端配置


    Bash

    cat /root/wg0-client-arm.conf
    

    验证: 将屏幕打印出的 [Interface] 和 [Peer] 完整内容复制下来备用。

第二阶段:在家里的 ARM 机配置 WireGuard 客户端与本地放行

  1. 安装客户端组件 在家里 ARM 机器终端执行:


    Bash

    sudo apt update && sudo apt install wireguard resolvconf -y
    
  2. 写入精简且带心跳的配置文件(核心防断联步) 创建配置文件:


    Bash

    sudo nano /etc/wireguard/wg0.conf
    

    将刚才复制的内容修改为以下格式(去掉 IPv6、去掉 DNS、缩窄 AllowedIPs 防断网、必须加上 PersistentKeepalive = 25):


    Ini, TOML

    [Interface]
    PrivateKey = <填你生成的ARM客户端私钥>
    Address = 10.66.66.2/32
    
    [Peer]
    PublicKey = <填你生成的GCP服务端公钥>
    PresharedKey = <填你生成的预共享密钥>
    Endpoint = 35.220.240.98:4433
    AllowedIPs = 10.66.66.0/24
    PersistentKeepalive = 25
    

    按 Ctrl+O 回车保存,Ctrl+X 退出。

  3. 启动隧道并设置开机自启


    Bash

    sudo wg-quick up wg0
    sudo systemctl enable wg-quick@wg0
    

    验证: 执行 ping 10.66.66.1 -c 4,有正常毫秒数返回且 0% packet loss。

  4. 放行 ARM 机本地防火墙与 Docker 转发链 在 ARM 机终端执行以下命令,确保 wg0 隧道进来的流量能直接访问 1Panel 的 OpenResty 容器:


    Bash

    sudo iptables -I INPUT -i wg0 -p tcp -m multiport --dports 80,443,10001 -j ACCEPT
    sudo iptables -I FORWARD -i wg0 -j ACCEPT
    sudo iptables -I FORWARD -o wg0 -j ACCEPT
    

    验证: 在 ARM 机执行 curl -I [http://10.66.66.2](http://10.66.66.2),返回 HTTP/1.1 200 OK。

第三阶段:在 GCP 配置端口转发与永久固化

  1. 写入 80、443、10001 端口转发规则 回到 GCP 终端,执行以下命令(注意:千万不要执行 iptables -t nat -F 清空原表):


    Bash

    # 转发 80, 443, 10001 端口到 ARM 机 (10.66.66.2)
    sudo iptables -t nat -A PREROUTING -p tcp -m multiport --dports 80,443,10001 -j DNAT --to-destination 10.66.66.2
    
    # 伪装返回路径,确保 ARM 机把数据包顺着隧道原路送回 GCP
    sudo iptables -t nat -A POSTROUTING -p tcp -d 10.66.66.2 -m multiport --dports 80,443,10001 -j MASQUERADE
    

    验证: 在 GCP 终端执行 curl -I [http://10.66.66.2](http://10.66.66.2),直接返回 HTTP/1.1 200 OK(Server: openresty)。

  2. 修复 DNS 并安装持久化工具保存规则 继续在 GCP 终端执行:


    Bash

    echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
    sudo apt update && sudo apt install iptables-persistent -y
    sudo netfilter-persistent save
    

    验证: 执行 sudo cat /etc/iptables/rules.v4 | grep 10.66.66.2,能看到上面那两条 DNAT 和 MASQUERADE 规则即代表永久固化成功。

第四阶段:域名解析、站点绑定与申请 SSL 证书

  1. 配置域名 DNS 解析 在域名后台(如 Cloudflare)添加一条 A 记录:


    • 名称:@(对应 redbook.eu.org)

    • IPv4 地址:35.220.240.98

    • 代理状态:关闭小黄云(设为仅 DNS / DNS Only)。

    • 验证: 在电脑上 ping redbook.eu.org,返回的 IP 是 35.220.240.98。

  2. 在 1Panel 绑定域名


    • 打开 ARM 机的 1Panel 面板 -> 网站 -> 网站,找到你的目标站点(如 192.168.0.111:10001),点击 配置 -> 域名设置。

    • 点击 新增域名,填入 redbook.eu.org,端口保持默认的 80。

    • 验证: 用手机断开 WiFi 走 5G 流量,浏览器访问 [http://redbook.eu.org](http://redbook.eu.org),能正常打开网页。

  3. 在 1Panel 申请并开启 Let's Encrypt 证书


    • 进入 1Panel 网站 -> 证书 -> 申请证书。

    • 主域名填 redbook.eu.org,验证方式选择 HTTP 验证,关联网站选择刚才绑定的站点,点击申请。

    • 申请成功后,回到 网站 -> 目标站点 配置 -> HTTPS,勾选 启用 HTTPS,选择刚下发的证书并开启 强制 HTTPS 保存。

    • 验证: 手机 5G 访问 [https://redbook.eu.org](https://redbook.eu.org),地址栏出现安全锁图标且网页正常加载。

  • 0

评论