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

8 天前
 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 里的电影都很不理想,想问下各位大佬有哪里可以优化,或者有什么更好的方案吗?

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

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

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

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

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

https://yangjunhui.monster/t/1128747

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

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

© 2021 V2EX