tailscale自建derp提高打洞效率与中继稳定性

tailscale是一款基于Wireguard的开源组网软件,可以通过服务器实现中继或打洞
打洞成功后可以直接走P2P,避免浪费服务器带宽
但是在某些情况下,使用官方服务器打洞成功率较低,而且在恶劣网络情况下,官方服务器的中继效果较差,所以我自己部署了多个derp,以实现高可用的打洞和中继服务。


官方对DerpServer的介绍
如何自定义自己的Derp
但是在这里我使用docker方便快速部署,因为机器有点多,懒得一个去装XD

Derp部署

version: '3.7'
services:
  derper:
    image: fredliang/derper
    ports:
      - "60080:80"
      - "60443:443"
      - "3478:3478/udp"
      # 这个端口你也可以自己修改
    environment:
      - DERP_DOMAIN=<YOUR_DOMAIN>
      - DERP_CERT_MODE=manual
      - DERP_VERIFY_CLIENTS=true
      #- DERP_STUN_PORT=3478
      # 端口要和该环境变量保持一致
    volumes:
      - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
      - ./fullchain.pem:/app/certs/<YOUR_DOMAIN>.crt
      - ./privkey.pem:/app/certs/<YOUR_DOMAIN>.key

- DERP_VERIFY_CLIENTS=true这个选项为true的时候需要本机安装tailscale并登陆,然后挂载/var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock,可以进行鉴权,不让其他用户使用(分享可以用share link)

个人建议使用泛域名证书+非80/443端口,可以有效避免域名备案问题。如果你可以使用80端口,你可以将80端口直接映射出来,并且- DERP_CERT_MODE=letsencrypt,可以使用ACME自动创建SSL证书

ACL设置

在tailscale控制台里修改derpMaps设置

{
    "derpMap": {
        //"OmitDefaultRegions": true,//禁用官方默认服务器
        "Regions": {
            "900": {
                "RegionID":   900,
                "RegionCode": "HK",
                "RegionName": "Hong Kong",
                "Nodes": [
                    {
                        "Name":     "XXX",
                        "RegionID": 900,
                        "DERPPort": 60443,
                        "HostName": "YOUR_DOMAIN",
                    },
                ],
            },
            "901": {
                "RegionID":   901,
                "RegionCode": "SZ",
                "RegionName": "Shen Zhen",
                "Nodes": [
                    {
                        "Name":     "XXX",
                        "RegionID": 901,
                        "DERPPort": 60443,
                        "HostName": "YOUR_DOMAIN",
                    },
                ],
            },
            //下面的是官方服务器,设置为NULL可以单独禁用
            "1":  null,
            "2":  null,
            "3":  null,
            "4":  null,
            "5":  null,
            "6":  null,
            "7":  null,
            "8":  null,
            "9":  null,
            "10": null,
            "11": null,
            "12": null,
            "13": null,
            "14": null,
            "15": null,
            "16": null,
            "17": null,
            "18": null,
            "19": null,
            //"20": null,//只保留HKG的官方服务器
            "21": null,
            "22": null,
            "23": null,
            "24": null,
            "25": null,
        },
    },
    "acls": [
        {"action": "accept", "src": ["*"], "dst": ["*:*"]},
    ],
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇