1
qwq11 172 天前 via Android
netcheck 只会检查 stun 服务的状态,不会检查中转是不是真的可用
从图 4 来看应该是打洞成功了,不需要 derp 了 你得再看看图三机器的 tailscale 日志才能确定为什么 timeout 了 |
2
PolarBears 172 天前
tailscale debug derp <region>命令看一下,另外 DERP 的服务器端口是默认 443 的话可以改一下,我腾讯云自建且有备案的情况下 443 端口也不稳定,但不稳定的状况和你表现的不同
|
3
asd999cxcx OP @qwq11 因为我在控制台的 AC 里面把他其他的节点都去掉了,就只保留了自建的 derp ,图三图四就是有时候家里 ping 公司 timeout (这个时候他在自动重试)然后再从公司 Ping 家里就 ping 通了,接着家里 ping 公司在重试的 ping 就没有 timeout ,但是如果隔一段时间不使用(或者说 RDP 过去),他又会回到最开始 timeout 的状态,tailscale 日志我晚点回去看看
|
4
asd999cxcx OP @PolarBears 这个命令是在哪台机器使用? DERP 服务器端口我是做了个映射,阿里云的外网 443 端口通过 nginx 映射到服务器本地 81 ,服务器本地 81 映射 docker 容器的 12345
|
5
qwq11 172 天前
@asd999cxcx #3 移除其他节点也不应该有这么多 timeout ,除非 derp 连不上。我这里第一次 ping 时间会长一点,但是不会出现 timeout
$ tailscale ping catty pong from catty (100.93.122.105) via DERP(cdu) in 1.007s pong from catty (100.93.122.105) via DERP(cdu) in 81ms 看你这么长的反向代理链,你可以访问下 https://DERP_HOST:443 看能不能显示网页,正确的话应该是会显示 This is a Tailscale DERP server. SSL 证书也可能是个问题 |
6
PolarBears 172 天前
@asd999cxcx #4 两个客户端上用,建议不要用外网 443 端口换个端口试试? SSL 证书方面就使用手动模式,然后用 acme.sh 来获取证书来用,我不是用容器部署的,这是我运行 derp 服务器的命令:
sudo ./derper -c "derp.conf" -hostname "derp.example.com" -http-port "-1" -a ":55500" -stun-port "3478" -certmode "manual" -certdir "/home/example/.acme.sh/derp.example.com_ecc" |
7
asd999cxcx OP @qwq11 我通过 https://ip 访问是可以访问的,页面现实的是 This is a Tailscale DERP server. 但是域名就不行,SSL 证书我是按照腾讯云下载证书给的例子写的 https://t.tutu.to/img/vMiDA ,这个应该是没问题.我通过 tailscale-service 日志里面打印的类似这样的信息: https://t.tutu.to/img/vMYJh
|
8
asd999cxcx OP @PolarBears 我执行 tailscale debug derp region 得到下面结果 https://t.tutu.to/img/vuv5q
|
9
qwq11 171 天前
@asd999cxcx #7 derper 会校验 SSL 证书和实际访问的 host 能不能对上,不管是自签的证书还是可信任的证书只要能对上就能用。域名不能访问的话,那猜测就是证书的问题了(对不上的话 derper 会直接 drop connection ,我猜日志里 connection was forcibly closed 就是这个原因)。建议你直接暴露 deprer 的端口,不走 nginx 的反代。贴个我的配置
$ cat /etc/systemd/system/tailscale-derp.service [Unit] Description=Tailscale derp service After=network.target Wants=network-online.target [Service] EnvironmentFile=/home/sheey/derp/.env ExecStart=/home/sheey/go/bin/derper \ -c /home/sheey/derp/derper.conf \ -a :34567 -http-port -1 \ -hostname ${DERP_HOSTNAME} \ --certmode manual \ -certdir /home/sheey/.cache/tailscale/derper-certs \ --verify-clients Restart=always User=root [Install] WantedBy=multi-user.target "derpMap": { // "OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "cdu", "RegionName": "Chengdu", "Nodes":[ { "Name":" 900a", "RegionID": 900, "DERPPort": 34567, "STUNPort": 3478, "HostName": "", // $DERP_HOSTNAME "IPv4": "", // "InsecureForTests": true } ] } } } |
10
asd999cxcx OP @qwq11 我最近尝试了下域名不能访问,是因为备案的原因,今天已经备案完了,域名可以访问,但是依旧不能 ping 通,tailscale 日志显示: https://t.tutu.to/img/vV5oq
|
11
qwq11 166 天前
@asd999cxcx #10 不太明白你咋搞的,tg 上说吧 aHR0cHM6Ly90Lm1lL3RlbXBfb3Jzb25faGVycmVyYQ==
|
12
asd999cxcx OP @qwq11 加了,但是它提示我说只能给共同好友发消息
|
13
asd999cxcx OP @qwq11 OK,可以发消息了
|