首先到这个网站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. Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章!

    Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! 转载 原文章地址:点击 2014-01-09 Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! ...

  2. 学习Canvas绘图与动画基础 绘制直线(二)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  3. LeetCode---42. 接雨水 (hard)

    题目:42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 示例: 输入:height = [0,1,0,2,1,0,1,3,2,1,2, ...

  4. 一个或多个筛选器或者Listeners启动失败

    问题描述 运行ssm项目,tomcat启动后报下面的错误. org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启 ...

  5. Object划分

    Object划分 1.PO(persistantobject)持久对象 PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包 含任何对数据库的操作. 2.DO(Domain ...

  6. 获取汉字首字母并分组排列 PHP

    1.代码class Character{ /** * 数组根据首首字母排序 */ /** * 二维数组根据首字母分组排序 * @param array $data 二维数组 * @param stri ...

  7. 改善c++程序的150个建议(读后总结)-------10-11

    10. 优化结构体中元素的布局 结构体变量所占空间大小并不是其所含类型所占字节数之和,其所占内存字节数涉及到字节对齐. 字节对齐 :变量在内存中储存都是以字节数为单位,每一个字节都有自己的地址,逻辑上 ...

  8. QFNU-ACM 2019.5.23组队赛 2019山东省赛复现

    A.Calandar 题意:一年12个月,一个月30天,5天一周,已知某天的年月日星期数,求所给年月日的星期数是多少 思路:直接进行计算,其实每个月每年都是等长度的就使得计算的时候忽略年月,可以直接进 ...

  9. 前端实操案例丨如何实现JS向Vue传值

    摘要:项目开发过程中,组件通过render()函数渲染生成,并在组件内部定义了自定义拖拽指令.自定义拖拽指令规定了根据用户可以进行元素拖拽.缩放等一系列逻辑处理的动作. 本文分享自华为云社区<[ ...

  10. unbuntu下清理磁盘空间

    把很多大文件删除,并清空回收站后,发现可用存储空间并没增大,如图: 用find /home -size +500k 过滤出大于500k bytes的文件,发现原来删除的yuv文件都被置于.cache目 ...