首先到这个网站ZeroTier – Global Area Networking注册登陆,注册及创建网络的过程可以参考网上及其他UP主的教程,我就不重复了。

本篇主要讲述的是hiboy大佬编译的固件在没有USB接口或没有外置存储设备的情况下安装使用ZeroTier的方法。

一、打开opt强制安装

如下图,开启“opt强制安装”后一定不要忘了点击最下面的“应用本页面设置”

二、下载run-zerotier.sh脚本并修改网络ID和路由

如图,将脚本中红框部分替换为自己的NETWORK ID和ZeroTier官网配置好的路由地址

三、上传脚本到路由器/etc/storage目录并赋予执行权限

使用WinSCP等工具将run-zerotier.sh文件上传至/etc/storage目录下

SSH登陆到Padavan,赋予run-zerotier.sh执行权限

chmod +x /etc/storage/run-zerotier.sh

四、将脚本添加到路由器“自定义脚本”中实现开机启动

浏览器打开Padavan Web界面,依次找到“高级设置” -> “自定义设置” -> “脚本” -> “自定义脚本0(功能配置):”,点击“自定义脚本0(功能配置):”,打开输入框,拖动滚动条到最后,粘贴以下内容:

# 启动ZeroTier
/etc/storage/run-zerotier.sh > /tmp/zerotier_log.txt 2>&1

然后点击最下方的“应用本页面设置”

此时脚本会自动执行并将日志保存到/tmp/zerotier_log.txt文件中

在SSH中使用以下命令查看输出日志

tail -f -n50 /tmp/zerotier_log.txt

opt环境已经安装好的话会正常启动

最后出现“【ZeroTier程序】已启动”的字样就表明ZeroTier已经启动了

五、到ZeroTier官网勾选认证并配置路由表

打开ZeroTier Central,点击创建好的网络ID

滚动到下面的Members,点击未认证的方框,等待一会儿便会分配到一个IP地址

此时在SSH中输入ifconfig,在最后会看到ZeroTier虚拟网卡的信息

图中画红线的分别是ZeroTier网卡名称和IP地址,复制出来备用。

如果其他ZeroTier成员想访问Padavan的话只需要记住上面的IP地址(192.168.196.85)即可,若要访问Padavan路由下的其他设备的话还需要做一些设置。

在ZeroTier网站页面翻到Advanced部分,按下图所示填写好Destination和(Via)后,点击Submit。

六、配置防火墙规则使ZeroTier各成员及各路由下的内网设备互访

按下图所示,找到“在防火墙规则启动后执行:”,在文本框中添加以下内容并点击最下面的“应用本页面设置”

# ZeroTier防火墙规则
iptables -A INPUT -i ztxxxxxxxx -j ACCEPT
iptables -A FORWARD -i ztxxxxxxxx -o ztxxxxxxxx -j ACCEPT
iptables -A FORWARD -i ztxxxxxxxx -j ACCEPT
iptables -t nat -A POSTROUTING -o ztxxxxxxxx -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.196.0/24 -j MASQUERADE
logger -t "【ZeroTier防火墙规则】" "添加完成"

注意将红字部分替换为自己的ZeroTier网卡名称和IP地址段

七、重启路由器测试是否配置成功

参考链接

hiboy固件不用U盘使用zerotier的方法 - Padavan - 恩山无线论坛 - Powered by Discuz! (right.com.cn)

Padavan安装使用ZeroTier实现组建虚拟局域网的方法的更多相关文章

  1. ZeroTier 局域网组建工具

    无公网IP通过ZeroTier实现内网穿透 需求:想要在公司访问家里内网NAS,或是在家里访问公司服务 有固定的公网IP或动态的公网IP:常见的方案动态域名解析做端口转发方式等 无公网IP:常见的实现 ...

  2. 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...

  3. CentOS安装rar、unrar解压缩软件的方法

    闲话不说,centos上如何安装rar.unrar在线解压缩软件呢?如果您的centos是32位的,执行如下命令: wget http://www.rarsoft.com/rar/rarlinux-3 ...

  4. Anaconda 安装 Python 库(MySQLdb)的方法

    [已解决]Anaconda 安装 Python 库(MySQLdb)的方法 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 201 ...

  5. 在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法

    在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法   对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助Ope ...

  6. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  7. CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...

  8. 在CentOS7.1上安装Gitlab碰到的问题及解决方法

    一 前言 关于在CentOS7上安装Gitlab, 官方文档已经很详细了,步骤大家按照官方的安装文档一步一步安装即可, 这里就不在累述.官方安装文档地址:  https://about.gitlab. ...

  9. 使用 Composer 安装Laravel扩展包的几种方法

    使用 Composer 安装Laravel扩展包的几种方法 以下的三种方法都是需要你在项目的根目录运行 第一种:composer install 如有 composer.lock 文件,直接安装,否则 ...

随机推荐

  1. 2.逆向分析Hello World!程序-上

    先写一个HelloWorld程序(vs2015 / C++) 编译链接生成可执行文件XX.exe,然后用OD[OllyDbg]打开调试: 代码窗口:默认用于显示反汇编代码,还用于各种注释.标签,分析代 ...

  2. 记一次 .NET 医院CIS系统 内存溢出分析

    一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的,不过对于内存方面出的问 ...

  3. java.lang.ClassNotFoundException的解决方案

    举一个特定的例子 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource 到Maven中央仓库下载 当我们看 ...

  4. ConcurrentHashMap源码解读二

    接下来就讲解put里面的三个方法,分别是 1.数组初始化方法initTable() 2.线程协助扩容方法helpTransfer() 3.计数方法addCount() 首先是数组初始化,再将源码之前, ...

  5. 微信小程序中的常见弹框

    显示加载中的提示框 wx.showLoading() 当我们正在在进行网络请求时,常常就需要这个提示框 手动调用wx.hideLoading()方法才能够关闭这个提示框,通常在数据请求完毕时就应该关闭 ...

  6. Jetpack Compose What and Why, 6个问题

    Jetpack Compose What and Why, 6个问题 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. Jetpack Compose是什么? 它是一个声明 ...

  7. CSS层叠性

    比较id,类,标签的数量 谁多就谁在上面 255个类的权重等于一个id 当权重一样时,以后设置的为准 通过继承而来的,权重为0 !important (设置权重无限大)可以影响权重,但只能影响选中的, ...

  8. [bug] MySQL: The user specified as a definer ('root'@'%') does not exist

    错误1 gciantispider.getchildlst does not exist 原因 getchildlst创建失败 解决 在mysql中设置mysqld中加上log_bin_trust_f ...

  9. Ubuntu20.04 网络配置

    Ubuntu20.04 网络配置 设置 ROOT 密码 先设置 root 密码,后面直接使用 root 用户操作 it@it:~$ sudo passwd root [sudo] password f ...

  10. JDK5.0新特性1

    目录 静态导入 自动装箱/拆箱 for-each循环 可变参数 枚举 JDK 5.0 新特性简介 JDK 5.0 的一个重要主题就是通过新增一些特性来简化开发,这些特性包括: 静态导入 自动装箱/拆箱 ...