内网穿透(组网)成功率高、部署简单

同步来源:树洞剪藏 源站剪藏 ID:162 原文地址:https://mp.weixin.qq.com/s/2xdPo07-BSn4rRDrw9Y6Cg
内网穿透(组网)成功率高、部署简单
内网穿透(组网)成功率高、部署简单
生活处处有BUG
2024年10月14日 22:05 广东
「背景」 公司有服务器,或者公司的电脑配置比较自己家里的笔记本高,如果要配置外网穿透,就太麻烦,而且也不安全(公司内网被黑了,可能还要你担责)。局域网组网就相对来说既简单,又安全好多。 ZeroTier是一款利用 UDP 打洞来实现内网穿透的工具,相比其他工具成功率更高、部署更简单。其基本工作原理是组建一个虚拟局域网,各个设备(NAS、Linux、Windows、Mac、iOS、Android)安装了客户端、加入到这个虚拟局域网后,就会自动分配一个IP,从而实现局域网内各个设备及服务的相互访问。 zerotier的一些专有名词:
PLANET 行星服务器,Zerotier 官方根服务器,在国外。免费版最大支持25个设备连接。
MOON 卫星服务器,私有根服务器,可以利用带有公网IP的云服务器自己搭建,起到代理加速的作用
LEAF 网络客户端,连接到根服务器的网络节点,如上述提到的NAS、群晖、Linux、Windows等 「使用PLANET 行星服务器」 通过Zerotier官方根服务器建立虚拟局域网,优点是在没有自带公网IP的云服务器的情况下也可以异地组网,部署简单快捷,全地球都可以访问;缺点是:① 免费版允许连接的设备有限,最大25台,不过个人或小团队使用的话也够用了;② 数据不安全,毕竟是外国的服务器,一般没什么重要数据的情况下可以使用;③ 受网络波动影响,用网高峰期可能连接不稳定; 「一、注册ZeroTier服务」 「1.注册账号」 访问my.zerotier.com/network[1],注册账号,注册后登录。
「2.创建网络」 注册后登录到主页,会有一个“Create A Network”的黄色按钮,点击即可创建一个网络,一切保持默认即可。创建完成后,主页会显示这个网络,记住这个16位的NETWORK ID,后面会用到。
「二、客户端加入网络」 「1.内网服务器安装客户端」 因为主要就是想内网穿透访到这几台内网服务器,所以这几台服务器都要安装zerotier客户端。zerotier有两种安装方式,一种是最原始方式的编译安装,一种是通过脚本自动安装。下面分别介绍一下这两种方式: 首次安装的话,推荐这种方式,简单快捷,只要执行以下命令一键安装即可。安装完成后会自动在/var/lib/zerotier-one/下生成相关文件及目录 curl -s https: //install.zerotier.com | sudo bash # Linux系统
其他操作系统:下载地址:www.zerotier.com/download/[2] (base) xj@xjtest:~$ cd /tmp (base) xj@xjtest: /tmp$ curl -s https:/ /install.zerotier.com | sudo bash [sudo] password for xj:
*** ZeroTier Service Quick Install for Unix-like Systems
*** Tested OSes / distributions:
*** MacOS ( 10.13 +) (just installs ZeroTier One.pkg) *** Debian Linux ( 7 +) *** RedHat/CentOS Linux ( 6 +) *** Fedora Linux ( 16 +) *** SuSE Linux ( 12 +) *** Mint Linux ( 18 +)
*** Supported architectures vary by OS / distribution. We try to support *** every system architecture supported by the target.
*** Please report problems to [email protected] and we will try to fix.
*** Detecting Linux Distribution
「2.客户端加入创建的网络」 客户端分别加入网络,想穿透哪台,哪台就加入。 sudo zerotier-cli join 9 f77fc393e4f9c09 # 上面第一步创建网络生成的 16 位ID sudo zerotier-cli status # 查看网络状态
客户端加入后,zerotier的Web管理页面就能看到该网络,勾选该网络,表示同意客户端接入
「3.客户端查看本地服务器网络情况」 如果连接成功,并且管理页面中勾选此客户端,则会返回以下内容 (base) xj@xjtest: /tmp$ sudo zerotier-cli listnetworks 200 listnetworks 200 listnetworks 9f77fc393e4f9c09 king 0a:a4:99:64:81:29 OK PRIVATE ztuze3hjjx 10.147.20.17/ 24
zerotier-cli客户端服务器加入网络后,相当于在本地虚拟了一块网卡,网卡地址就是虚拟局域网分配给这台客户端的地址 (base) xj@xjtest: /tmp$ ip a 47: ztuze3hjjx: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ ether 0 a:a4: 99 : 64 : 81 : 29 brd ff:ff:ff:ff:ff:ff inet 10.147 .20 .17 / 24 brd 10.147 .20 .255 scope global ztuze3hjjx valid_lft forever preferred_lft forever inet6 fe80:: 8 a4: 99 ff:fe64: 8129 / 64 scope link valid_lft forever preferred_lft forever
「4.异地电脑安装客户端」 「5.测试连通性」 如有两台服务器都安装了客户端,并且都加入了上面创建的网络,客户端A地址是10.147.18.122,客户端B的地址是10.147.18.211,则可以在客户端A所在的服务器上ping客户端B,测试两台机器有没有互通。 (base) xj@xjpc: /tmp$ ping 10.147.20.17 PING 10.147.20.17 (10.147.20.17) 56(84) bytes of data. 64 bytes from 10.147.20.17: icmp_seq=1 ttl=64 time=6.34 ms 64 bytes from 10.147.20.17: icmp_seq=2 ttl=64 time=3.01 ms 64 bytes from 10.147.20.17: icmp_seq=3 ttl=64 time=3.69 ms 64 bytes from 10.147.20.17: icmp_seq=4 ttl=64 time=28.1 ms 64 bytes from 10.147.20.17: icmp_seq=5 ttl=64 time=7.48 ms 64 bytes from 10.147.20.17: icmp_seq=6 ttl=64 time=3.44 ms
❝ 我有个大胆的想法:我发的每一篇技术文,都是亲自验证过的,可以保证当下的可用性。欢迎小伙伴也跟着实操一次,操作遇到问题,可以后台留言;或者你技术难点,可以告诉我,我来验证,去折腾。让我们一起进步、相互成就!!! ❞
生活处处有BUG 发过的每一篇技术文,都亲自验证过,保证当下的可行性。 48篇原创内容
公众号 ,
精彩推荐
国内首家永久免费一核一G云服务器? 亲测,巨好用的linux连接工具,不输xshell大法 真香,开源的轻量级定时任务集中调度和管理系统gocron python跨平台的包管理与环境配置神器,高效创建、管理与迁移你的开发环境 无密码SSH登录:简化Linux连接,增强安全性(已验证) 操作服务器的神奇工具,Tmux
收藏那么多python资料干嘛,这一本就够你从入门到入土了!
预览时标签不可点
实践 11 局域网 2 服务器 14
实践 · 目录
上一篇 python高级技巧 下一篇 Jenkins入门三步走-安装(Docker安装Jenkins教程)
关闭
更多
小程序 广告
搜索「undefined」网络结果
微信扫一扫 关注该公众号
当前内容可能存在未经审核的第三方商业营销信息,请确认是否继续访问。
继续访问 取消 微信公众平台广告规范指引
: , 。
视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看 分享 留言 收藏