请问 tailscale 新自建中继 DERP 如何建立部署,是否可以共享给其他人使用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
info521
V2EX    宽带症候群

请问 tailscale 新自建中继 DERP 如何建立部署,是否可以共享给其他人使用

  •  
  •   info521 2021-07-26 17:28:51 +08:00 9348 次点击
    这是一个创建于 1540 天前的主题,其中的信息可能已经有所发展或是发生改变。
    55 条回复    2022-04-20 17:30:29 +08:00
    Sekai
        1
    Sekai  
       2021-07-27 15:32:28 +08:00
    搞好了,先在小鸡上配置好 go 环境。
    然后安装 derper:
    go install tailscale.com/cmd/derper@main
    然后修改自己网页上的 Access Controls,注意替换域名:
    https://www.codepile.net/pile/dNnwGoMA
    最后执行
    derper -c=$HOME/derper.conf -a xxx.xxx.xxx:998 --stun (我这里 443 占用了所以改成了 998 )
    重启各个机器上的 tailscale 服务,在网页的 Machine Details 里就能看到了,会显示 Relay #901 。应该还能用自己的证书,不过我还没时间看。
    info521
        2
    info521  
    OP
       2021-07-27 16:31:23 +08:00
    $HOME 这个写死的吗,还是不同系统不通目录的?
    info521
        3
    info521  
    OP
       2021-07-27 16:32:37 +08:00
    他这个可以共享给别人使用的,只要知道你的域名和端口
    info521
        4
    info521  
    OP
       2021-07-27 16:35:33 +08:00
    $HOME 是缺省目录,是必须 root 目录吗?
    info521
        5
    info521  
    OP
       2021-07-27 16:56:33 +08:00
    derper -c=$HOME/derper.conf -a xxx.xxx.xxx:998 --stun 执行这一步时候,提示命令不存在,
    Sekai
        6
    Sekai  
       2021-07-28 15:46:50 +08:00
    @info521 应该可以共享的,命令不存在就是 derper 没装上吧,其他的我也不怎么懂
    info521
        7
    info521  
    OP
       2021-07-28 16:04:19 +08:00
    @Sekai 找到原因了,环境变量没设置好
    info521
        8
    info521  
    OP
       2021-07-28 16:05:02 +08:00
    derper: command not found
    go version

    sudo vim /etc/profile
    export GOROOT=/usr/lib/go-1.16
    export GOPATH=/root/go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOROOT/bin
    export PATH=$PATH:$GOPATH/bin

    添加完成按 Esc 键,然后输入:wq 再按回车保存退出,然后执行以下命令,使配置生效。
    source /etc/profile
    ylx
        9
    ylx  
       2021-08-26 10:12:15 +08:00
    @Sekai 改成 998 后 Access Controls 里面的 hostname 是不是也需要加端口
    按 998 配好后用你的示例没反应
    mangohaoming
        10
    mangohaoming  
       2021-08-28 16:28:34 +08:00
    请问解决了吗
    Sekai
        11
    Sekai  
       2021-08-29 21:19:34 +08:00
    @ylx 我没加……它那个很奇怪,有的机器 Relays 里面会显示全部服务器也有自己配置的,有的就只有两个服务器甚至一个没有...
    Sekai
        12
    Sekai  
       2021-08-29 21:28:19 +08:00
    @ylx 还有就是安装 supervisor 之类的守护一下进程
    mangohaoming
        13
    mangohaoming  
       2021-08-30 10:29:09 +08:00
    @Sekai 你好,小白请教两个问题:1. derper.conf 文件示例能否共享一下. 2. Access Controlss 设置改 hostname 与新增 derpermap 节点在 json 根节点这样可以吗?
    Sekai
        14
    Sekai  
       2021-08-30 22:47:40 +08:00
    @mangohaoming derper.conf 自始至终就没动过,我都不知道在哪,看了一下里面是 PrivateKey 。第二个问题没看懂,可能我也是一知半解……
    mangohaoming
        15
    mangohaoming  
       2021-08-31 11:04:04 +08:00
    @Sekai 配置 Access Controlss 只需要填 hostname 吗?
    mangohaoming
        16
    mangohaoming  
       2021-08-31 13:12:16 +08:00
    @Sekai 配置成功了,感谢
    info521
        17
    info521  
    OP
       2021-09-01 10:38:37 +08:00
    @mangohaoming 能否把步骤分享下,我配置了,一直没成功;
    mangohaoming
        18
    mangohaoming  
       2021-09-08 09:51:10 +08:00
    @info521 步骤和 Sekai 说的一样,注意检查防火墙端口有没有开放,derper 进程有没有一直在运行(可以用进程守护工具守护)
    mangohaoming
        19
    mangohaoming  
       2021-09-18 13:20:29 +08:00
    @Sekai 你好,测试发现用其它端口不能正常使用 stun 转发,请问你的正常吗
    Sekai
        20
    Sekai  
       2021-09-19 14:16:34 +08:00
    @mangohaoming 有显示什么错误嘛?
    mangohaoming
        21
    mangohaoming  
       2021-09-19 19:22:12 +08:00
    @Sekai 没有提示错误,设备面板也显示链接上了,就是 p2p 无法打洞的情况下两个客户端就 ping 不通了
    mangohaoming
        22
    mangohaoming  
       2021-09-19 19:44:19 +08:00
    @Sekai 就只有采用默认的 443 端口才一切正常
    Sekai
        23
    Sekai  
       2021-09-21 22:21:08 +08:00
    @mangohaoming 要不把命令改成 derper -c=$HOME/derper.conf -a 0.0.0.0:998 --stun 试试?否则还是防火墙的问题吧,如果用 443 打洞正常的情况下,另外还可以换高位端口。
    mangohaoming
        24
    mangohaoming  
       2021-09-22 08:59:43 +08:00
    @Sekai 测试了也还是不行,相关端口系统防火墙和外围安全组都确认 tcp/udp 都放开了,终端运行命令只有启动提示,443 端口是有客户端接入提示的。
    Sekai
        25
    Sekai  
       2021-09-22 14:08:57 +08:00
    @mangohaoming 那我真没辙了,实在想用只能换系统试试,debian10 centos7 我这都可以,能加多台。
    mangohaoming
        26
    mangohaoming  
       2021-09-22 16:13:45 +08:00
    @Sekai 你的 vps 是哪家的,我的是腾讯云。我换一下系统镜像试试
    Sekai
        27
    Sekai  
       2021-09-23 11:29:56 +08:00
    @mangohaoming 毛子 gc,清凉云应该 dd 之后再用啊
    oddcc
        28
    oddcc  
       2021-09-23 14:51:09 +08:00
    请教一下,部署成功之后,是怎么指定流量走自建的 DERP 的?
    需要把官方的全部禁用吗?
    mangohaoming
        29
    mangohaoming  
       2021-09-23 16:25:03 +08:00
    @oddcc 设置这个参数就行,"OmitDefaultRegions": true,作为 derpMap 的子节点
    mangohaoming
        30
    mangohaoming  
       2021-09-23 16:28:37 +08:00
    @Sekai 意思是腾讯云要换自己上传的镜像去安装后再使用?
    oddcc
        31
    oddcc  
       2021-10-28 17:43:59 +08:00
    确实是这样, 测下来用 443 才能转发成功
    否则只是能在 admin 中看到连上了这个 node, 实际还是 ping 不通
    zyqv2
        32
    zyqv2  
       2021-11-17 09:41:29 +08:00
    可以试试这个 docker 镜像 zouyq/derper,亲测是 ok 的,主要网络最好使用桥接模式,非 443 端口需要配置服务端证书,并在 tailscale 管理控制台那里添加 DERPPort:xxx 指定端口
    cweijan
        33
    cweijan  
       2021-11-21 02:10:34 +08:00
    @oddcc, 我配置成功了, 自定义端口不是在 HostName 后面加, 而是需要增加 DERPPort, 例子
    ```json
    {
    "DERPMap": {
    "OmitDefaultRegions": false,
    "Regions": {
    "900": {
    "RegionID": 900,
    "RegionCode": "1",
    "Nodes": [
    {
    "HostName": "xxxx",
    "DERPPort": 998,
    "Name": "1",
    "RegionID": 900
    }
    ]
    }
    }
    }
    }
    ```
    info521
        34
    info521  
    OP
       2021-11-25 23:32:46 +08:00
    转载:

    https://mangoroom.cn/tools/tailscale-custom-derper-servers.html

    节点为腾讯云广州节点,带宽有限,请勿滥用,如果想支持本节点可双击下方点赞或者请芒果喝一杯奶茶

    // Example/default ACLs for unrestricted connections.
    {
    // Declare static groups of users beyond those in the identity service.
    "Groups": {
    "group:example": [ "[email protected]", "[email protected]" ],
    },
    // Declare convenient hostname aliases to use in place of IP addresses.
    "Hosts": {
    "example-host-1": "100.100.100.100",
    },
    "ACLs": [
    // Match absolutely everything. Comment out this section if you want
    // to define specific ACL restrictions.
    { "Action": "accept", "Users": ["*"], "Ports": ["*:*"] },
    ],
    "derpMap": {
    "Regions": { "900": {
    "RegionID": 900,
    "RegionCode": "mangoderp",
    "Nodes": [{
    "Name": "1",
    "RegionID": 900,
    //本节点由 mangoroom.cn 提供,请勿滥用。详情访问 https://mangoroom.cn/tools/tailscale-custom-derper-servers.html
    "HostName":"tailscalederper.mangoroom.cn",
    }]
    }}
    }
    }
    info521
        35
    info521  
    OP
       2021-11-25 23:33:32 +08:00
    info521
        36
    info521  
    OP
       2021-11-25 23:37:21 +08:00
    1.16 版本开始,可以自定义 DERP 端口

    当前版本是 1.16 。现在有用户使用自定义 DERP 端口

    https://github.com/tailscale/tailscale/issues/1264


    搜索关键词

    DERP
    This is a Tailscale DERP server.

    可找到公开的 DERP 中继服务器;
    info521
        37
    info521  
    OP
       2021-11-26 00:17:41 +08:00
    转载:

    https://blog.laisky.com/p/tailscale/ 四、安装、部署

    关于备案信息,tls,letsencrypt 解释
    info521
        39
    info521  
    OP
       2021-11-26 14:31:56 +08:00
    如何启用 DERP 客户端限制
    https://github.com/tailscale/tailscale/issues/3024

    derper --help
    -verify-clients
    verify clients to this DERP server through a local tailscaled instance.
    xxb
        40
    xxb  
       2021-12-01 02:26:42 +08:00
    我用 docker 自建的 derp ,貌似证书没有自动搞定
    info521
        41
    info521  
    OP
       2021-12-01 15:26:53 +08:00
    是国内吗?国内的域名备案,
    info521
        42
    info521  
    OP
       2021-12-08 11:58:41 +08:00
    服务端开源版本

    协调服务器的开源、自托管实现
    控制服务器用作 Tailscale 网络中节点的 Wireguard 公钥交换点。它还分配客户端的 IP 地址,在每个用户之间创建边界,在用户之间启用共享机器,并公开您节点的通告路由。

    headscale

    https://github.com/juanfont/headscale

    完全自己部署独立整套系统
    info521
        43
    info521  
    OP
       2021-12-25 23:34:42 +08:00
    docker 容器化部署中继 DERP

    https://hub.docker.com/r/zouyq/derper

    默认 443 ,自定义端口
    info521
        44
    info521  
    OP
       2021-12-26 23:53:10 +08:00
    腾讯云容器自建 DERP:
    1 、域名备案,
    2 、域名解析
    3 、域名 SSL 申请 1 年免费,crt key 文件下载
    4 、规划访问端口,例如 8082tcp ,3478udp stun ,防火墙放行;
    5 、docker 安装,命令执行
    docker run -it -d --name derper -p 8082:8082 访问端口映射 -p 3478:3478/udp -v /自定义证书目录 derpssl:/cert zouyq/derper /derper -hostname hostname -stun -a :8082 自定义端口 -certmode manual -certdir /cert

    6 、安装检查
    curl https://hostname.com:8082

    https://hostname.com:8082

    7 、tailscale 控制端设置 derp
    info521
        45
    info521  
    OP
       2021-12-27 00:10:13 +08:00
    转:tailscale 自建 derper 服务器中转,使用自定义端口
    https://blog.csdn.net/opopop880/article/details/122125430
    info521
        46
    info521  
    OP
       2021-12-28 12:42:35 +08:00
    节点分享,直接复制进去就可以,重启下客户端,目前 2 个国内节点
    https://www.yuque.com/docs/share/4ce6a5f6-bf8d-4233-9501-59ae8dfbe65e?# 《 Tailscale DERP 》
    yangchuansheng33
        47
    yangchuansheng33  
       2022-01-08 18:00:52 +08:00
    @Sekai 我这边测试虽然 derper 生效了,但是 ping 不通 peer ,非 443 端口。能不能告知一下的你的详细配置步骤啊
    info521
        48
    info521  
    OP
       2022-01-09 22:17:07 +08:00
    info521
        49
    info521  
    OP
       2022-01-13 17:40:49 +08:00
    taiscale 客户端 容器 docker 安装

    https://github.com/tailscale/tailscale/issues/504 容器安装讨论
    https://github.com/tailscale/tailscale/blob/main/Dockerfile 镜像构建文件
    https://hub.docker.com/r/tailscale/tailscale 镜像直接下载

    # This Dockerfile includes all the tailscale binaries.
    #
    # To build the Dockerfile:
    #
    # $ docker build -t tailscale/tailscale .
    #
    # To run the tailscaled agent:
    #
    # $ docker run -d --name=tailscaled -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --privileged tailscale/tailscale tailscaled
    #
    # To then log in:
    #
    # $ docker exec tailscaled tailscale up
    #
    # To see status:
    #
    # $ docker exec tailscaled tailscale status
    latteczy
        50
    latteczy  
       2022-03-16 15:23:08 +08:00
    可以不用 HTTPS 吗?
    fuergaosi
        51
    fuergaosi  
       2022-03-26 23:12:23 +08:00
    @info521 测试了一下, 似乎不需要使用 HTTPS 证书, 只要修改域名的解析就可以.
    info521
        52
    info521  
    OP
       2022-03-27 21:31:40 +08:00
    要的,你在试试,他们计划使用自签名,只是不依赖别家 ssl
    info521
        53
    info521  
    OP
       2022-03-27 21:40:20 +08:00
    Sekai
        54
    Sekai  
       2022-04-17 16:36:53 +08:00
    derper -c=/root/derper.conf -hostname=你的域名 -http-port 81 -certmode=manual -certdir=/etc/nginx/ssl -stun
    记录一下
    preach
        55
    preach  
       2022-04-20 17:30:29 +08:00
    已搭建成功,docker
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3733 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:44 PVG 08:44 LAX 17:44 JFK 20:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86