用 WireGuard 连回家,速度非常不稳定

135 天前
 cyrker

如题,家里目前两条电信宽带

A:1000M 下 50M 上,有公网 V4

B:2000M 下 200M 上,有公网 V6

我在家里弄了个 easy-wg ,配置文件如下

volumes:
  etc_wireguard:

services:
  wg-easy:
    image: ghcr.nju.edu.cn/wg-easy/wg-easy:15.0.0-beta.12
    container_name: wg-easy
    restart: unless-stopped

    environment:
      - INSECURE=true  # 允许 HTTP 访问 Web UI

    networks:
      wg-net:
        ipv4_address: 172.30.0.2
        ipv6_address: fd42:42:42::2

    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"

    cap_add:
      - NET_ADMIN
      - SYS_MODULE

    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0
      - net.ipv6.conf.all.forwarding=1
      - net.ipv6.conf.default.forwarding=1

    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro

networks:
  wg-net:
    driver: bridge
    enable_ipv6: true
    ipam:
      config:
        - subnet: 172.30.0.0/24
          gateway: 172.30.0.1
        - subnet: fd42:42:42::/64

一般是直接通过 v4 连家里的 wg 的,但是 v4 的上传就 50M ,而且还在跑 PT 。有些时候会很卡

所以想试试用腾讯云 200M 服务器中转一下家里的 IPv6 。

于是乎在腾讯云上部署了 wg 客户端+easy-wg ,配置文件如下:

volumes:
  etc_wireguard:

services:
  wg-easy:
    image: ghcr.nju.edu.cn/wg-easy/wg-easy:latest
    container_name: wg-easy
    restart: unless-stopped

    environment:
      # VPN 公网访问域名或 IP (客户端用)
      - WG_HOST=xxxx

      # WireGuard 使用的端口
      - WG_PORT=12345
      # MTU
      - WG_MTU=1400

      # Web UI 登录密码
      - PASSWORD_HASH=$2a$10$

      # 分配给客户端的虚拟地址段
      - WG_DEFAULT_ADDRESS=10.99.99.x

      # 客户端使用的 DNS
      - WG_DEFAULT_DNS=192.168.99.1

      # 允许客户端访问的网段
      - WG_ALLOWED_IPS=192.168.99.0/24

      # Web UI 设置
      - TZ=Asia/Shanghai
      - UI_TRAFFIC_STATS=true
      - UI_CHART_TYPE=1

    ports:
      - "1234:1234/udp"   # WireGuard VPN 端口
      - "12345:12345/tcp"   # Web UI 管理端口

    cap_add:
      - NET_ADMIN
      - SYS_MODULE

    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

    volumes:
      - etc_wireguard:/etc/wireguard
      - /lib/modules:/lib/modules:ro

wg 客户端的配置文件如下

[Interface]
PrivateKey =xxxx
Address = 10.8.0.3/24, fdcc:ad94:bacf:61a4::cafe:3/112
#DNS = 223.5.5.5
MTU = 1420

[Peer]
PublicKey = xxxx
PresharedKey = xxxx
AllowedIPs = 192.168.99.0/24
PersistentKeepalive = 25
Endpoint = mydomain:12345

目前用下来发现,不管是直接链接家里的 V4 ,还是使用腾讯云 IP 为入口的 wg 链接

测速还是看 EMBY 里的电影都很不理想,想问下各位大佬有哪里可以优化,或者有什么更好的方案吗?

4621 次点击
所在节点    宽带症候群
41 条回复
wtks1
135 天前
腾讯云 200M ,是那个不限流量和邻居们共享 200 兆带宽的那个服务器吗?
cyrker
135 天前
@wtks1 #1 对的,但是国内的好像还好 我 iperf 测了几次都跑的挺满的
x4gz
135 天前
直接用 tailscale 吧
blbno000
135 天前
WireGuard 基于 udp 协议,openvpn 基于 tcp 协议,实测 WireGuard 不如 openvpn 稳定
xcodeghost
135 天前
很多 VPN 都默认使用 UDP ,这在国外没什么问题,速度快。但国内就不一样了,运营商对 UDP 各种不公开的限制。
wayne630
135 天前
要套个 udp2raw 才稳定啊。不过在广东这招现在也只能是同一运营商才有效了,跨网跨省限速 2M
Naples
135 天前
客户端通过 v4 连接腾讯云,MTU 也要按 v6 的来,应该是 1412 ,然后各个出口再做下 clamp mss 兜底。
cyrker
135 天前
@blbno000 #4 openvpn 感觉有点重了,wg 轻量一点
@x4gz #3 有在用,这个 200M 的是在当 derp 服务器,但是速度也不是很好。
@wayne630 #6 昨天测试了一下 udp2raw 用的参数是 --raw-mode faketcp --cipher-mode xor --auth-mode simple 效果不是很好,不知道是不是得改点啥,而且腾讯云北京和我家都是电信,iperf 测速还可以。
@Naples #7 各个出口做下 clamp mss 是指腾讯云和家里的 debian 都要做 clamp mss 嘛?
rulagiti
135 天前
要么 wg 要么 op ,其它不考虑
guanzhangzhang
135 天前
我之前也是 ecs 上 udp2raw ,开了三个进程,不一样的模式,每个地方一个模式不稳地就换另一个模式,然后后面远程家里手机速度不行,就换了 hadscale 了,直接打洞直链不受 ecs 木桶短板效应
JensenQian
135 天前
直接用 ss 回家
基于 tcp 的试试看
404not400
135 天前
试试 ring.link
qianxu2001
135 天前
你都跑 pt 了,pt 一旦吃满上行啥方案来都没用,开限速呗
chapiom
135 天前
@blbno000 openvpn 是不是必须要公网 ip ,我电信有公网但是上传只有 30M ,限制在这个速度了。
cyrker
135 天前
@JensenQian #11 是整个 本机->腾讯云->家里 debian 这条链路都换成 ss 嘛,还是只把腾讯云->家里 debian 这段换成 ss ?
@qianxu2001 #13 没跑满的 腾讯云这条链路上传有 200M pt 只占了几十 M
cyrker
135 天前
@404not400 #12 这个感觉没什么人提到过诶,是基于 UDP 的吗?
CKR
135 天前
家里搭 SS 服务端只开放 SS 的端口,DDNS 分别配置 V4 和 V6 的解析然后直连就行了,不跨境单纯在国内用基本上都不管你的(除了不同运营商之间的 QOS ,最近晚高峰跨网速度挺爆炸的)。
richchang
135 天前
所有 UDP 协议,包括 WireGuard ,都会被严重 QoS 。

建议用 TCP 协议的方法,比如 SS 。

没有公网 IP 的可以用我写的这个工具 https://github.com/kanshurichard/GoHomeEasy
cyrker
135 天前
@richchang #18 正在尝试 SS ,家里分别有 v4 和 v6 的公网,想试试用腾讯云中转我的 v6 流量
richchang
135 天前
@cyrker 有公网 IPV4 肯定无脑 DDNS+TCP 协议( SS )连回家。

IPV6 有时也会被严重 QoS ,只有 IPV4+TCP 是最稳的,而且都有公网 IP 了也没必要中转。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1128747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX