zerotier-one自建根服务器方法五

一、简介

前面几篇文章已经写完了自己建立服务器的方法,今天写一下我在使用过程中遇到的问题和解决方法。

二、准备工作
准备一个有公网IP的云主机。
要稳定性、安全性、不差钱的可以使用阿里、腾讯等大厂的云服务器。
本人穷屌丝一枚,所以我用的是免费的“三丰云”,同时提供"免费虚拟主机"和“免费云服务器”产品,有兴趣的可以试一下。
“三丰云”我已经用了一段时间,感觉还是很不错的,速度快也很稳定。
三丰云 https://www.sanfengyun.com 链接。
大家可以点击前往查看是否需要。
控制界面如图:
三、操作步骤

1 - 4、zerotier-one自建根服务器方法一-CSDN博客
5、6、zerotier-one自建根服务器方法二-CSDN博客
7、      zerotier-one自建根服务器方法三-CSDN博客

四、客户端加入自建的根服务器

见:zerotier-one自建根服务器方法四-CSDN博客

五、常见问题及解决办法

我使用的是一台2007年购买的笔记本,非常旧速度很慢,所以我安装了一个适合老旧电脑使用的linux发行版:AntiX 23.1

在使用zerotier-one的过程中出现了路由表不正常的情况,具体描述我就不在这里重复了,参见我寻找解决办法发的两个帖子:
Network issues – antiX-forum
Starting zt causes loss of internet - Linux - ZeroTier Discussions

我在这里说一下修复方法,经过我的测试此方法可以完美解决路由表不正确的问题。
先写一个脚本/home/username/fixztn.sh内容如下:

#!/bin/bash

vartmp=0

for ((i=1;i<=20;i++))
do

sleep 6

if [ -n "$(ip route |grep 'default via')" ]; then
  dfr="$(ip route |grep 'default via')"
fi

if [ -n "$(ip addr |grep 169 |cut -d' ' -f6 |cut -d/ -f1)" ]; then
  ip169="$(ip addr |grep 169 |cut -d' ' -f6 |cut -d/ -f1)"/16
  ip169dev="$(ip addr |grep 169 |cut -d' ' -f11)"
  echo "ip addr del $ip169 dev $ip169dev"
  ip addr del $ip169 dev $ip169dev
  ((vartmp++))
fi

if [ -n "$(ip route |grep '0.0.0.0 dev '$ip169dev)" ]; then
  ztn0r="$(ip route |grep '0.0.0.0 dev '$ip169dev)"
  echo "ip route del $ztn0r"
  ip route del $ztn0r
  ((vartmp++))
fi

if [ -n "$(ip route |grep 'default dev '$ip169dev)" ]; then
  ztndfr="$(ip route |grep 'default dev '$ip169dev)"
  echo "ip route del $ztndfr"
  ip route del $ztndfr
  ((vartmp++))
fi

echo -n "vartmp: $vartmp i: $i "

if [ -n "$(ip route |grep '172.16.183')" ] && [ $vartmp -ge 3 ]; then
  if [ "$(ip route |grep default |wc -l)" = 1 ]; then
	break
  fi
fi

done

脚本里面的IP需要根据自己的情况稍作修改。改好后可以用sudo bash /home/username/fixztn.sh先手动运行一下,如果运行正常,请继续下面的步骤。在/etc/init.d/zerotier-one文件中找到如下脚本位置,并增加一行,如下:

#修改前:

start)	log_daemon_msg "Starting ZeroTier One" "zerotier-one"
        start_daemon -p $PIDFILE $DAEMON $EXTRA_OPTS
        log_end_msg $?
	;;

#修改后

start)	log_daemon_msg "Starting ZeroTier One" "zerotier-one"
        start_daemon -p $PIDFILE $DAEMON $EXTRA_OPTS
        log_end_msg $?
        bash /home/username/fixztn.sh
	;;

相关推荐

  1. zerotier-one服务器方法

    2024-07-09 22:08:01       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 22:08:01       50 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 22:08:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 22:08:01       43 阅读
  4. Python语言-面向对象

    2024-07-09 22:08:01       54 阅读

热门阅读

  1. react中jsx的语法规则

    2024-07-09 22:08:01       24 阅读
  2. transformer的了解

    2024-07-09 22:08:01       20 阅读
  3. Pytest中的钩子函数

    2024-07-09 22:08:01       17 阅读
  4. Vue-插值表达式

    2024-07-09 22:08:01       20 阅读
  5. Python加密利器:如何用hashlib和base64锁住你的数据

    2024-07-09 22:08:01       18 阅读
  6. json数据

    2024-07-09 22:08:01       17 阅读
  7. 小型简易GIT服务器搭建和使用

    2024-07-09 22:08:01       21 阅读
  8. 开源许可(Open Source License)

    2024-07-09 22:08:01       20 阅读
  9. 使用 HAProxy 进行 MySQL 负载均衡

    2024-07-09 22:08:01       23 阅读
  10. 【Tools】了解人工通用智能 (AGI):未来的智能体

    2024-07-09 22:08:01       21 阅读