CM101s-2 hi3798mv100 搭建基于IPv6的Tailscale Derper中继服务器

30 四月, 2025

前置条件

  1. 设备能够获取到公网的IPv6地址
  2. 设备添加好DNS自动更新设置
  3. 申请好域名证书

资料前置

  1. 绑定域名 tailscale-guest.tr069-main.xyz
  2. 自动更新 DDNS
  3. 使用 acme.sh 申请 ssl 证书和自动续期

第一步

  1. 创建证书目录并授权
    mkdir /opt/tailscale/cert
    chmod 755 /opt/tailscale/cert

  2. 复制证书到指定目录
    mv /var/www/wwwroot/tailscale-guest.tr069-main.xyz/fullchain.cer /opt/tailscale/cert/tailscale-guest.tr069-main.xyz.crt
    mv /var/www/wwwroot/tailscale-guest.tr069-main.xyz/cert.key /opt/tailscale/cert/tailscale-guest.tr069-main.xyz.key

  3. 创建执行文件目录和启动脚本[留下邮箱提供 arm 架构的执行文件]
    mkdir -p /opt/tailscale/bin
    chmod 755 /opt/tailscale/bin

3.1 创建启动脚本[需要会使用 vi 命令]
vi /opt/tailscale/bin/runderper.sh

#!/bin/sh  cd /opt/tailscale/bin  nohup ./derper -hostname tailscale-guest.tr069-main.xyz -c=derper.conf -a :56473 -http-port -1 -certdir /opt/tailscale/cert -certmode manual -stun > console.log 2>&1 &  echo $! > app.pid

chmod +x /opt/tailscale/bin/runderper.sh
3.2 创建停止脚本
vi /opt/tailscale/bin/stopderper.sh

#!/bin/sh  kill `cat app.pid`  rm -rf app.pid

chmod +x /opt/tailscale/bin/stopderper.sh
3.3 创建服务文件方便管理
vi /etc/systemd/system/derper.service

Description=Derper Server  After=network.target     [Service]  Type=forking  ExecStart=/opt/tailscale/bin/runderper.sh  ExecStop=/opt/tailscale/bin/stopderper.sh     [Install]  WantedBy=Multi-user.target
  1. 启动服务并设为开机自动启动
    systemctl start derper
    systemctl enable derper

注意:如果节点不共享建议添加参数 -verify-clients 只认服务器上 tailscale 客户端登录的账号
nohup ./derper -hostname tailscale-guest.tr069-main.xyz -c=derper.conf -a :56473 -http-port -1 -certdir /opt/tailscale/cert -certmode manual -stun -verify-clients > console.log 2>&1 &

启动没问题以后就可以打开链接测试了
https://tailscale-guest.tr069-main.xyz:56473/

注意:下面的代码添加到你的tailscale 控制台即可使用,再加人的客户端中执行 tailscale netcheck 既可以看到你的Derper 节点信息

"902": {  				"RegionID":   902,  				"RegionCode": "ChinaUnicom",  				"RegionName": "GuanDong-Unicom-tailscale-guest",  				"Nodes": [  					{  						"Name":             "902",  						"RegionID":         902,  						"HostName":         "tailscale-guest.tr069-main.xyz",  						"DERPPort":         56473,  						"InsecureForTests": true,  					},  				],  			},






欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org
 

现在上班有个奇特现象:你能在一个公司工作12年以上,无论你态度多好,多么忠诚,一旦公司盈利不好,那么你就是“眼中钉,肉中刺”

16 四月, 2025


在职场上,老员工总是不受待见,

尤其是当公司效益不好的时候,老同事往往会成为背锅侠。

现在上班有一个奇怪的现象:如果你在一个公司里工作12年以上,无论你多忠诚,迟早是公司的"眼中钉,肉中刺"。

这个比喻一点也不夸张。

很多职场的中年人,正在遭遇被清退处理的厄运。

老员工,是公司的功臣,是伴随着公司发展壮大的。

公司能够有今天的成绩,也是很多老员工多年贡献出来的。

而现在公司的经营情况不好了,订单下降了,

甚至是盈利变成了亏损,当公司开始降本增效的时候,

就开始上演"卸磨杀驴"的经典戏码了。

不管多么忠诚的好员工,也不管曾经的贡献有多大,

年龄大了,就会成为公司的累赘。

一些老板,会认为是这么年龄大的员工拖累了公司的转型和发展。

这个时候,眼中钉,肉中刺的标签,就被牢牢打上了。

保姆级青龙面板忘记密码后找回

13 四月, 2025


首先登陆ssh后台
然后获取docker容器列表:
docker ps
找到列表里有ql、qinglong字眼的,列表最前面就是容器id

root@hi3798mv100:/# docker ps  CONTAINER ID   IMAGE             COMMAND                 CREATED         STATUS        PORTS        NAMES  **46f4202d9552**   registry...   "./docker/docker-ent…"   5 months ago   Up 9 days   0.0.0.0:5......         ql

然后进入容器ssh:
docker exec -it 你的容器ID"" /bin/sh
进去以后ls一下,看看有没有data这个文件夹

root@46f4202d9552:/ql $ ls  LICENSE       README.md  cli     **data**  docker  log           nodemon.json  pnpm-lock.yaml  raw   sample   shell  static              tsconfig.json  version.yaml  README-en.md  back       config  db    jbot    node_modules  package.json  public          repo  scripts  src    tsconfig.back.json  typings.d.ts

cd进去
cd data && ls
应该有个config文件夹,也是cd进去
cd config && ls
看到有个auth.json就vi进去:
vi auth.json
然后应该就能看到了





欢迎投稿(技术分享、原创教程)至本站机器人: blog#mige.eu.org