zerotier内网穿透功能简要介绍及简明设置方法

本文介绍如何利用ZeroTier实现跨地域的内网穿透,包括路由器安装配置、防火墙设置及应用场景,如远程桌面、文件同步等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工作关系,经常需要访问不同地点计算机里的资料,原来的解决方案为云盘同步,但由于众多云盘歇菜,存活的又限速,还有隐私风险等因素,不得不放弃这种免费方案。于是还有一种自己搭建私有云的方案(在路由器、NAS、小主机等设备上通过开源软件搭建——不是本文讨论主题,略过),或者远程控制方案(teamviewer却总是提示商用,无法安心的使用不得不放弃;还有anydesk、logmein等等也提供免费远程控制),但由于需要通过其设在国外的服务器中转,速度是个无法忍受的问题。于是寻找替代解决方案,终于让我找到了一个可以充分发挥想象优势,享受无限折腾乐趣的内网穿透服务——ZeroTier,下面就简要介绍一下它的基本功能:

一、主要功能:将安装ZeroTier软件的所有设备统一到一个虚拟局域网,用虚拟局域网ip和内网ip均可以无缝访问虚拟局域网中的任一台设备,并且拥有如下优势:

①. 节点之间属于 P2P UDP 直连,无需服务器中转流量,互联速度仅仅取决于你的和其他节点的直连上传带宽(当然握手之初是需要经过中心服务器来当媒婆的,之后就是UDP直连了!);

②. 节点之间的流量是加密和压缩的,所以有带宽放大的功能;

③. 配置简单,只需要填入一个 Network ID ,然后管理员在 Zerotier 官网管理页面允许通过一次,以后就直接允许连上了。

④.连上后各个虚拟网卡相当于同一局域网内,无应用的限制了——至于有哪些应用场景就需要读者你自己脑洞大开了。

⑤.关键的一点,只要你想要的连接的节点在100以内,所有功能都是免费的!

【二、详细安装步骤和注意事项请跳转到我的博客。】

还是搬到这里来方便大家吧!

二、简易设置:首先到官网ZeroTier.com去注册账号(ZeroTier Central),并新建你的Network ID(官网自动生成ID,你可以为它设置一个好记的名字并添加说明以便于记忆)。然后在你需要组建成局域网的设备上安装ZeroTier客户端(官网下载和安装指南地址),填入之前生成的Network ID,并到官网管理中心将设备对应的【Auth】选项进行勾选以将其并入该Network ID的局域网。

三、扩展应用:前述设置需要在每一个组网的设备上安装ZeroTier客户端并在官网管理中心添加许可,虽然已经够简单了,但万一某个设备的客户端被禁止了或更新系统后不能正常运行的话,就不能相互连通了。于是有一种想法,在需要组网的设备端上级路由器上安装ZeroTier客户端并在官网管理中心添加许可、设置路由表,这样安装了ZeroTier客户端的所有路由器下的所有设备都处在同一局域网下啰。
1、官网注册并新建Network ID,同前。
2、在路由器上安装并激活ZeroTier(以openwrt软路由为例,其它的可自行搜索):
(1) ssh进入路由器shell,运行opkg update && opkg install zerotier进行安装。(我用的是koolshare的openwrt固件,虽然已经在酷软中心集成了ZeroTier插件,但不推荐在酷软安装,有时会出一些莫名其妙的错误,还是如前述手动安装为好)
(2) ssh中运行zerotier-cli join ID(即你在官网建立的Network ID),或者直接修改/etc/config/zerotier配置文件(若ssh中运行zerotier-cli join ID出错也按此方法修改并保存此配置文件),将option enabled ‘0’的0改为1,list join ‘**********’改为你自己的Network ID。
(3) 重启路由器。
(4) 到官网管理中心勾选对应路由器的【Auth】项
(5) 添加路由表:

(6) 路由器防火墙设置,在【网络】→【防火墙】→【自定义规则】中添加如下规则,【重启防火墙】:

如果是在旁路由中还需添加这一条iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -I FORWARD -i ztyqbub6jp -j ACCEPT
iptables -I FORWARD -o ztyqbub6jp -j ACCEPT
iptables -t nat -I POSTROUTING -o ztyqbub6jp -j MASQUERADE
其中的“ztyqbub6jp”在不同的路由器中不一样,你可以在路由器ssh环境中用zerotier-cli listnetworks查询。

同时要注意【防火墙】→【常规设置】中要按如下设置(经测试,转发不改成接受,开启fullcone也是可以的---230206


(7)  如此设置后在192.168.11.1路由器下的设备可以以192.168.191.206或192.168.12.1访问另外一台路由器,同时可以192.168.12.X访问192.168.12.1路由器下的其它设备;反之亦然。
3、应用场景:
(1) 可以远程登录管理路由器了
(2) 可以将群晖nas与其它设备组成内网,文件同步再也不看quickconnect的龟速眼神了
(3) 两端的linux设备都可以远程ssh登录配置了
(4) 两端的windows设备可以用微软自带的远程桌面功能了(先在【计算机】→【属性】→【系统】→【远程设置】中允许远程桌面连接,再在控制端允许窗口输入MSTSC运行远程桌面连接,输入用户名、密码即可像本地计算机一样操控远程计算机了),其速度杠杠的(除了握手阶段需要zerotier中心服务器牵手之外,其余时间都是UDP直连,取决于两端的上传速度)
(5) 可以通过(安装了zerotier的)路由器在需要的时候远程唤醒计算机而不需要一直开着计算机了
(6)可以愉快的在没有公网ip的家里安装监控摄像头了?
(7)……有待读者发掘并分享
4、关于速度,前面已经说了,UDP直连,仅握手阶段需要中心服务器,同时官方还给出了让用户自行在有公网ip的机器上搭建moon卫星级服务器,供带组建内网的其它设备握手使用以提高握手速度和稳定性,感兴趣和有条件的朋友可以去探索和折腾了。

四、后记
1、注意客户端安装、配置zerotier和官网管理中心添加许可、添加路由表的顺序以及ip对应设置情况,万一哪一步操作错误导致设备不能上网的话,可以用zerotier-cli leave ID先让该不能上网的设备断开与zerotier服务器的连接,再重新join和在官网管理中心添加许可、添加路由表。
2、由于我的openwrt软路由之前安装了entware,导致opkg install zerotier是在entware源而非openwrt源,且安装路径也是外接磁盘而非路由器内储存,导致无法正常运行,于是我只好在/etc/rc.local配置文件中将自动加载entware的相关设置注释掉,并将/etc/profile中为entware添加的. /opt/etc/profile注释掉就可以正常安装和运行了。 
3、关于群晖等NAS安装zerotier客户端:在官网下载(含安装指南地址)与你nas及其软件版本对应的客户端,然后在nas的套件中心中手动上传客户端进行安装。

<think>嗯,用户问的是安卓版SSH,我需要先弄清楚他们具体想知道什么。SSH是安全外壳协议,用于远程登录和管理设备。安卓版可能是指能在安卓设备上运行的SSH客户端应用,或者服务端?不过通常用户可能需要的是客户端,用来连接服务器。 首先,我应该解释SSH的基本概念,确保用户理解。然后介绍安卓上可用的SSH客户端应用,比如Termux、JuiceSSH、ConnectBot这些,得简单说明每个的特点,比如Termux更强大但需要更多配置,而JuiceSSH用户友好。 用户可能想知道如何选择适合的应用,所以需要分点说明不同需求下的推荐。比如,普通用户可能喜欢图形界面,而开发者可能需要高级功能。 另外,安全问题也很重要,得提醒用户使用密钥认证,避免密码泄露,还有连接公共WiFi时的注意事项。可能还要提到保持应用更新,防止漏洞。 然后,使用步骤需要简明,比如安装应用、配置连接、认证方式,可能还要演示命令行例子,比如用Termux的ssh命令。要确保用户能跟着操作,但不需要太深入的技术细节,除非用户明确要求。 用户可能的深层需求是想要在手机上管理服务器,或者进行远程开发,所以可以提到Termux的扩展功能,比如安装其他工具。或者他们可能需要在移动环境中处理紧急任务,这时候推荐可靠且容易上手的应用。 还要注意使用中文,结构清晰,分步骤说明。检查是否有遗漏的常见应用,避免推荐过时或不维护的软件。最后,确保LaTeX格式正确,虽然这个问题可能不太涉及数学公式,但如果有变量或代码,需要用正确的格式。</think>以下是对安卓版SSH的详细介绍,按逻辑步骤分层说明: --- ### 一、SSH基础概念 **SSH**(Secure Shell)是一种加密网络协议,用于在非安全网络中安全地远程访问和管理设备(如服务器、路由器等)。其核心功能包括: - **加密通信**:防止数据被窃听 - **身份验证**:支持密码或密钥认证 - **端口转发**:实现安全隧道功能 --- ### 二、安卓版SSH的实现方式 在安卓设备上使用SSH,主要通过两种途径: #### 1. SSH客户端应用 安装第三方APP实现SSH连接,常用工具有: - **Termux**(推荐) - 功能:完整的Linux终端环境,支持`ssh`命令 - 优势:可扩展性强,支持包管理(`apt`) - 示例命令: ```bash pkg install openssh ssh username@hostname -p port ``` - **JuiceSSH** - 功能:图形化SSH客户端 - 优势:支持多会话管理、密钥代理 - **ConnectBot** - 功能:开源SSH客户端 - 优势:轻量级,支持端口转发 #### 2. 系统内置功能 部分安卓定制系统(如LineageOS)通过ADB或开发者选项提供SSH服务端支持。 --- ### 三、典型应用场景 1. **远程服务器管理** - 通过手机调试云服务器 - 查看日志、重启服务等操作 2. **文件传输** - 配合`scp`或`sftp`命令传输文件 - 示例: ```bash scp -P port local_file user@remote_host:/path/to/destination ``` 3. **内网穿透** - 通过SSH隧道访问内部网络资源 - 示例建立本地端口转发: ```bash ssh -L 8080:localhost:80 user@jumpserver ``` --- ### 四、安全注意事项 1. **认证方式优先级** - 密钥认证 > 密码认证 - 生成密钥对命令: ```bash ssh-keygen -t ed25519 ``` 2. **防范中间人攻击** - 首次连接时验证服务器指纹 - 典型RSA指纹格式: ``` SHA256:3VnZq4rQJw... (长度64字符) ``` 3. **网络环境安全** - 避免通过公共WiFi使用SSH - 启用双因素认证(如Google Authenticator) --- ### 五、性能优化建议 1. **协议选择** - 优先使用SSH协议版本2 - 禁用不安全的加密算法(如`arcfour`) 2. **连接保持** - 配置`ClientAliveInterval`防止超时断开 - 示例配置(服务端`sshd_config`): ``` ClientAliveInterval 60 ClientAliveCountMax 3 ``` --- ### 六、高级技巧 1. **Termux扩展应用** - 安装完整Linux工具链: ```bash pkg install git python nodejs ``` - 运行SSH服务端: ```bash sshd -p 8022 ``` 2. **自动化脚本** 通过Tasker等工具实现: - 定时执行远程备份 - 网络切换时自动重连 --- 通过上述工具和方法,安卓设备可以成为高效的移动端SSH管理终端,建议根据具体需求选择Termux(开发者向)或JuiceSSH(普通用户向)方案。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值