zerotier server迁移

说明

自建内网穿透工作ZeroTier服务端。需要从原服务器迁移到新的主机上,进行以下操作。我使用ubuntu 22,其他debian类服务器应该也可以。原服务器上直接安装服务程序,不使用docker。

旧服务器

1. 停止服务

  • SSH 登录
  • 停止ztncui,zerotier-one服务
sudo systemctl stop ztncui
sudo systemctl stop zerotier-one

2. 拷贝数据目录

  • 在旧服务器上备份以下两个服务的配置与数据目录
sudo cp -a /opt/key-networks/ztncui/etc /path/to/backup_location
sudo cp -a /var/lib/zerotier-one /path/to/backup_location

新服务器

1. 安装ZeroTier-One Controller和ztncui

A 安装zerotier

https://www.zerotier.com/download/#linux

curl -s https://install.zerotier.com | sudo bash
curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/main/doc/contact%40zerotier.com.gpg' | gpg --import &&
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

B 安装ztncui。服务器的web控制面板
https://key-networks.com/ztncui/

2. 停止服务

sudo systemctl stop ztncui
sudo systemctl stop zerotier-one

3. 拷贝数据

  • 使用SCP,rsync,WinSCP等工具拷贝

rsync -rva user@old_host:/path/to/backup_location/etc /opt/key-networks/ztncui/

rsync -rva user@old_host:/path/to/backup_location/zerotier-one /var/lib/

4. 设置用户所有权

  • 查看

ls -l /opt/key-networks/ztncui/etc

  • 用户和群组应该是:ztncui
-rw------- 1 ztncui ztncui 148 Jul 26 09:48 default.passw
-rw------- 1 ztncui ztncui 435 Jul 26 09:48 passwd
drwxr-xr-x 2 ztncui ztncui 4096 Jul 26 09:48 storage
drwxr-x--- 2 ztncui ztncui 4096 Jul 26 09:48 tlsd
  • 查看
ls -l /var/lib/zerotier-one
  • 用户和群组应该是:zerotier-one
-rw------- 1 zerotier-one zerotier-one       24 Jul 26 09:54 authtoken.secre
drwx------ 4 zerotier-one zerotier-one     4096 Jul 26 09:54 controller.d
-rw-r--r-- 1 zerotier-one zerotier-one      141 Jul 26 09:54 identity.public
-rw------- 1 zerotier-one zerotier-one      270 Jul 26 09:54 identity.secret
drwxr-xr-x 2 zerotier-one zerotier-one     4096 Jul 26 09:54 networks.d
drwxr-xr-x 2 zerotier-one zerotier-one     4096 Jul 27 12:22 peers.d
-rw-r--r-- 1 zerotier-one zerotier-one      570 Jul 26 09:54 planet
-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-cli
-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-idtool
-rwxr-xr-x 1 zerotier-one zerotier-one 10892304 Jul 26 09:54 zerotier-one
-rw-r--r-- 1 zerotier-one zerotier-one        4 Jul 26 09:58 zerotier-one.pid
-rw-r--r-- 1 zerotier-one zerotier-one        4 Jul 26 09:58 zerotier-one.port
-rw-r--r-- 1 zerotier-one zerotier-one      276 Jul 26 09:54 zerotier-one.te
  • 如果不是的话,执行以下命令设置

sudo chown -R ztncui:ztncui /opt/key-networks/ztncui/etc
sudo chown -R zerotier-one:zerotier-one /var/lib/zerotier-one

5. 设置配置文件,密钥等

  • After ztncui upgrade, migration, or system kernel upgrade (effective after reboot), you need to generate a new secret for the controller and set correct access privileges.
  • 运行以下命令,设置配置文件
sudo sh -c "echo ZT_TOKEN=$(sudo cat /var/lib/zerotier-one/authtoken.secret) > /opt/key-networks/ztncui/.env"
sudo sh -c "echo HTTPS_PORT=3443 >> /opt/key-networks/ztncui/.env"
sudo sh -c "echo NODE_ENV=production >> /opt/key-networks/ztncui/.env"
sudo chmod 400 /opt/key-networks/ztncui/.env
sudo chown ztncui:ztncui /opt/key-networks/ztncui/.env

6. 配置ztncui

  • 打开环境变量
sudo vim /opt/key-networks/ztncui/.env
  • 设置IP地址: HTTPS_HOST=<IP>
    注:我写入IP造成ztncui无法启动,可以不要这一行
  • 保存退出

7. 重启ztncui和zerotier-one

sudo systemctl start ztncui
sudo systemctl start zerotier-one

8. 验证迁移

  • 查看运行状态

sudo systemctl status ztncui
sudo systemctl status zerotier-one

  • 查看运行日志

sudo journalctl -u ztncui -u zerotier-one -f

  • 注意web端运行在3443,调整防火墙

后续收尾

1. 验证zerotier运行正常

2. 旧服务器停用服务

避免两台服务器同时运行,旧服务器上停用服务

sudo systemctl stop ztncui
sudo systemctl stop zerotier-one
sudo systemctl disable ztncui
sudo systemctl disable zerotier-one

3. 旧服务器清除数据

 

sudo rm -rf /var/lib/zerotier-one

  • 清除数据之后,重新启动服务会生成一个新的服务ID

sudo systemctl enable –now zerotier-one

本文引自https://medium.com/@KarolDanisz/full-guide-migrating-zerotier-controller-ztncui-and-data-to-a-new-host-34abcd30d8fb
授权:Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).

 

震撼的微观世界照片

震撼微观世界

Weekly Shots 

每周国家地理图片精选

摄影 I 宝藏图片 ·  阅读时间10分钟

淡淡的烟雾颗粒(蜡中未燃烧的碳组成)从蜡烛仍在燃烧的烛芯向上流动。摄影师Ole Bielfeldt使用极快的快门(1/8000)和非常强大的LED光源在他的工作室创作了这张图像。

摄影:Ole Bielfeldt

纵观历史,人类一直在努力理解存在于我们自然感知之外的现实世界。无论是非人类动物经历的充满活力的感官世界,可观测到的浩瀚宇宙,还是微观领域的内部运作,都有无数人类视线之外的肉眼无法可见的奇迹。

幸运的是,人们已经掌握了放大和捕捉微小的艺术。每年,尼康显微世界摄影大赛都会赞美这些将微小世界带入我们眼中的图像。今年是比赛的第48年,四名评委从近1300份参赛作品中选出了少数几份名列前茅的作品。

今天宣布的第一名的获奖图像是由日内瓦大学研究人员Grigorii Timin和Michel Milinkovitch合作拍摄的,照片展示了一只胚胎时期的马达加斯加大日行壁虎(Phelsuma grandis)的趾。使用显微镜和图像拼接,这张呈荧光透视的照片展示出壁虎趾微妙的复杂性,神经,肌腱,韧带,骨骼和血细胞被凸显出来,它们协同工作,帮助这些生物毫不费力地爬上墙壁。

其他的图像捕捉了簇状人类乳腺腺泡,一股烟,黏菌的子实体——一种看起来就像是直接从奇幻故事中拽出来的有机体。所有获奖作品都可以在尼康的官网上看到。本文中,《国家地理》图片编辑Samantha Clark挑选了13张照片,这些照片有些激发了她的想象力,有些展示了显微镜的力量,还有些鼓励她更深入地思考肉眼看不到的隐藏世界。

Clark说:“与这样的小东西面对面总是令人兴奋的。现在每次我看到芦笋,我可能就会想到这张照片。第一名的照片是胚胎时期壁虎的趾,它的皮肤、骨骼和血管层都那样令人着迷。谁能想到人类的结肠可以在这张上皮隐窝像花一样的图像中变得如此迷人?”

继续阅读震撼的微观世界照片

假期的收获!怎样分析数据包特征,确定《王者荣耀》游戏流量

大概从7月中旬,我开始研究路由器和网络抓包方面的东西。嗯,没错,这个时间点,就是孩子开始放暑假的时候。可能广大家长在这个时候都开始想到网络监控这个需求了吧。

做了很多很多预备工作,补充很多知识空白,wireshark抓包、openwrt路由器定制、乃至docker、ddev开发环境搭建。。。终于在这个十一假期,整个技术设想完整走通了。

目前,也只是验证走通了,离彻底做完还遥遥无期。其实开始做的时候,很快就想明白,等这一大套东西做完,估计孩子中考也结束了。所以做这个自己能用上的场景不多,也许将来放出来,能满足类似需求的人吧。

毕竟我自己事先找了一圈,没有看到能满足需求的家用级产品。选出来感觉能用的,都是价格好几万的整套设备+服务。

构想中的难点,一直在于怎么识别抓到的数据,是来自于哪个应用的。原来抓到了IP地址,在数据库里保存了DNS解析记录,想要通过IP反查域名来作为确认应用来源的线索。但是现在这个时代,大厂已经没有用单个IP做服务支撑的了。不同城市、不同网络服务商的用户,恐怕得到的都是不同的IP。

查了很多很多资料,直到发现Open FROS  https://github.com/destan19/openfros 这个项目,给了我极大的启发!感谢这个项目的作者!

下面记录一下整个过程。先以《王者荣耀》为例,做一次测试分析。

首先启动游戏。在等候界面里,最明显的,有持续网络流量的功能,就是右上角这个持续测速度。我们从这里开始抓包。

继续阅读假期的收获!怎样分析数据包特征,确定《王者荣耀》游戏流量

世界最高的“黄金地狱”,人均寿命35岁

 国家地理 国家地理中文网
在“南美洲脊梁”安第斯山脉,
海拔5000多米的地方,
那里的白雪覆盖着黄金;
矿工们的汗水混杂着血泪。
在世界最高的人类聚居地——
秘鲁的拉林科纳达(La Rinconada),
毒气弥漫、空气稀薄、终年严寒,
是为最残酷的人类据点之一,
这里矿工的人均寿命仅35岁。
五一劳动节长假期间,
国家地理中文网将陆续发布4篇震撼选题,
从北美到南美,
从南亚到西非,
展现那些虽存在于现代社会
却令现代人难以想象的艰苦“工作”。
此时,我们为疫情而苦恼而困顿之时,
彼处,跟他们一比也就不算什么。
他们为生计奔波又苦于生计,
让人油然敬佩也不胜唏嘘;
今天我们去到“南美脊梁”,
一睹那些为黄金毒饵豁命的人们。

摄影:CÉDRIC GERBEHAYE
撰文:BARBARA FRASER & HILDEGARD WILLER

继续阅读世界最高的“黄金地狱”,人均寿命35岁