tailscale 回家速度不理想,求教

2023-05-25 10:53:44 +08:00
 gearfox
电信 300M 宽带有公网 ip ,千兆光猫设置了桥接,主路由硬件 RouterOS 设备负责拨号,副路由 Openwrt 上安装有 tailscale
拓扑为 华为光猫---RB760---Openwrt
最早在 RouterOS 配置了 NAT1 给 openwrt ,tailscale 的速度还凑活吧,现在关闭了 NAT1 ,tailscale 的速度就很慢了,但是凑活将就能用,网上说可通过自建 derper 的方式提速,但是我在阿里轻量云上安装并配置了 derper ,测试无法使用,下面我发出来步骤,请大家排查一下问题,谢谢了。

[安装 derper ]
wget --no-check-certificate https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
tar -xzf go1.20.4.linux-amd64.tar.gz -C /usr/local
echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile
echo 'export GOPATH=/usr/local/gopath' | tee -a /etc/profile
echo 'export GOBIN=$GOPATH/bin' | tee -a /etc/profile
echo 'export PATH=$PATH:$GOROOT/bin' | tee -a /etc/profile
echo 'export PATH=$PATH:$GOPATH/bin' | tee -a /etc/profile
source /etc/profile
go version
go env -w GOPROXY=https://goproxy.cn,direct
go install tailscale.com/cmd/derper@main

[阿里云申请 1 年免费证书并上传到 /home/admin/certs ]
浏览器 https 方式打开 deeper 页面也正常

[ aliyun 上关闭了防火墙和系统内置的 firewalld ]

[启动服务如下]
tee /etc/systemd/system/derper.service <<'EOF'
[Unit]
Description=Tailscale DERP Server
Requires=tailscaled.service
After=tailscaled.service

[Service]
Type=simple
User=root
Restart=always
RestartSec=5
ExecStart=/usr/local/gopath/bin/derper -c=/root/derper.conf --hostname=aliyun.111.com --verify-clients -a=:7777 -stun-port=8888 -http-port=-1 -certdir=/home/admin/certs/ -certmode=manual

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload && systemctl enable --now derper && systemctl status derper

[官方页面里配置 ACL 规则]
"derpMap": {
"OmitDefaultRegions": false,
"Regions": {
"900": {
"RegionID": 900,
"RegionCode": "aliyunderp",
"Nodes": [
{
"Name": "1",
"RegionID": 900,
"HostName": "aliyun.111.com",
"STUNPort": 7777,
"DERPPort": 8888,
},
],
},
},
},

[安装验证服务]
dnf config-manager --add-repo https://pkgs.tailscale.com/stable/centos/9/tailscale.repo
dnf install tailscale -y
systemctl enable --now tailscaled
tailscale up

测试时就有问题了,tailscale status 也显示无法连接到自建 derper 上
提示# Health check:
# - not connected to home DERP region 900

或者显示连接上了,使用命令 tailscale ping 不通 openwrt 和其他安装 tailscale 的设备,好奇怪,请有经验的各位大大指点指点,谢谢大家
6904 次点击
所在节点    宽带症候群
51 条回复
Tink
2023-05-25 11:07:08 +08:00
打洞成功了吗
gearfox
2023-05-25 11:09:35 +08:00
@Tink 不自建的话,能连回家正常使用,打开家里的服务都正常
azure2023us559
2023-05-25 11:20:53 +08:00
没看懂,为什么要绕下呢?有公网 ip ,直接在 op 上 装 wireguard 之类的 server ,配合 ddns , 手机装 client 连接不就完了吗?
Lentin
2023-05-25 11:31:47 +08:00
人生苦短,建议用 zerotier+自建 planet 很稳、很快、
gearfox
2023-05-25 12:04:50 +08:00
@azure2023us559 好吧,哈哈哈,以前用过 wireguard ,就是试了试这个,结果遇到问题了
gearfox
2023-05-25 12:06:02 +08:00
@Lentin 好的谢谢,我闲了改成 zerotier
bt7vip
2023-05-25 12:31:46 +08:00
最近搞多地互联,局域网全映射,看了 net maker ,tailscale ,看了头大,感觉太复杂了,找了一个 ansible 角色,又好些功能实现不了,好难。
目前构思是用 wireguard 映射各地非同段局域网,做头部转发,wireguard 的虚拟局域网仅用作 mash 互联和移动端接入,太难了太难了。
已经实现是 wireguard 直连,省内异网 40~50ms ,同城 30ms 以内,感觉还行,远程桌面也跟手。就是连另一个局域网要切,非常不够优雅。
Sekai
2023-05-25 12:35:56 +08:00
手动运行 ExecStart 那一串启动命令会出现什么错误? 服务端正常运行的话访问 aliyun.111.com:7777 会出现 This is a Tailscale DERP server 页面
gearfox
2023-05-25 12:46:55 +08:00
@Sekai 测试了,页面都正常的
Jhma
2023-05-25 13:36:12 +08:00
我用 openvpn ,利用 IPv6 地址和 DDNS ,实现了用户+密码+证书+APP 动态码的高安全连接,在外面用 v6 隧道串流家里面的 xbox 非常爽
Badupp
2023-05-25 13:55:14 +08:00
@Lentin zerotier 不支持 ddns
JayZXu
2023-05-25 14:04:33 +08:00
这个我刚折腾过,可能有两个问题
首先是对应域名证书的配置,证书得配 fullchain ,不然可能会报证书无效
另外,在 Access Controls 里面配置 derp 配置时,试着吧
"HostName": "xxx.xxxx.com",
"IPv4": "xxx.xxx.xxx.xxx",
两项同时配置,我发现宿主机能 ping 通的情况下,tailscale 客户端经常找不到域名对应 IP

我之前都用的 zerotier ,现在切到 tailscale 了。tailscale 在建立连接后的响应延迟和稳定性比 zerotier 要好。
derp 也比 planet 和 moon 的转发效率高,但是好像峰值速度没有 zerotier 快,而且更占 CPU
Sekai
2023-05-25 14:04:53 +08:00
@gearfox 那可能 ACL 写得不太对? Nodes 里面可以加上"IPv4"一项,可以多找些范例看看,另外 OmitDefaultRegion 设为 false 的话也可能走其他服务器去了
Sekai
2023-05-25 14:07:11 +08:00
另外证书文件改成 aliyun.111.com.crt 和 aliyun.111.com.key 试一下
gearfox
2023-05-25 14:07:18 +08:00
@Jhma 那你弄的挺好的。 我是家里有 v4 和 v6 ,办公室只有 v4 ,其实 l2tp 也能连回家,就是想折腾一下 tailscale
gearfox
2023-05-25 14:16:01 +08:00
@JayZXu 好的,我再折腾折腾
gearfox
2023-05-25 14:16:25 +08:00
@Sekai 好的,我一个一个重新搞一下再试试
Lentin
2023-05-25 14:21:53 +08:00
@Badupp #11 如果设备不多的话应该用不上 ddns 吧,ipv4 地址手动分几个好记得就行了=。=
gearfox
2023-05-25 14:57:22 +08:00
重新搞了一遍,还是互相 ping 不通,提示
[root@ali]# tailscale status
100.109.90.40 V1 w@ linux -
100.122.80.66 openwrt w@ linux -
100.76.171.72 V3 w@ windows active; relay "aliderp", tx 5624 rx 0

# Health check:
# - not connected to home DERP region 900
# - Some peers are advertising routes but --accept-routes is false
JayZXu
2023-05-25 15:01:41 +08:00
@gearfox #19 试下 docker 封装好的 http://github.xiaoc.cn/fredliang44/derper-docker 这个项目。
我当时用命令直接部署的也是有问题。
把上面的环境变量配置正确,证书路径映射对,基本上就没问题了

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

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

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

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

© 2021 V2EX