当前位置: 首页 > news >正文

tailscale原理解析

前言

哥们电脑比较多,一台win台式,一台linux台式,和一个mac air,也算是把所有的生态都体验完了,但是一直想找一个方法,解决一个需求——让我的所有电脑可以一起协作,这个时候作为一个计算机类的学生,一个虚拟专用网就是非常牛逼的,然后就遇到了这个tailsacle这个软件,这个应用可以帮你构建一个

正文

了解前提

  1. 对称密码学:这里的特点就是加密解密是一个密钥,加密解密速度都快,但是密钥的传递是问题
  2. 非对称密码学:这里的特点就是安全,这里加密之后会有一个公钥一个私钥,这里加密全部都是公钥,必须需要私钥来进行解密,https就是这种逻辑
  3. 防火墙规则:这里只有自己发出去的流量开放,防火墙会自动检测,这里只有对方的返回数据包才能回来
  4. NAT:这里是解决IPV4地址不够用的一个方案,通过一个地址进行NAT转换,然后这里就有很多内网地址,现在我们使用了192.168开头的都是内网地址,然后这样创建多个内网,就缓解了IPV4地址不够用的危机

连接逻辑

  1. 首先两台电脑访问这个域名,然后域名服务器(DNS)通过CDN(文件分发网络)直接把公钥发给你,两台电脑A,B分别接收,使用这个公钥加密数据发给tailscale服务器。
  2. 这里通过tailscale服务器来接收,并且用自己的私钥来进行解密,这里获取的就是A,B通过对称密码学生成的对称密钥,然后tailscale发送对方的IP+端口和对方的对称密钥(这里的发送逻辑是通过分别获取A,B的公钥进行加密的)。
  3. 根据防火墙规则,这里A,B就可以获取对方的密钥和IP+端口,然后A,B互相接收属于自己的数据包并解密,然后通过对称密钥互相发送数据包来NAT打洞(这里意思是通过NAT来)试图建立P2P连接(A-B的端到端无损连接)
  • 关于对称NAT:但是这里如果A是对称NAT就很不方便,这里的对称NAT会让你们的打洞变得困难。这里比如A主机现在收到了B的密钥和地址和端口,它通过1234这个内网端口发送给B(刚刚也通过这个端口发给tailscale的服务器),但是这里对应的公网端口会变化,因为这里访问的对象不一样(如果是普通NAT一个内网端口对应一个公网端口)。也就是说这里tailscale传给B的A的端口和A现在实际发数据包的端口不是一个端口,那这个时候NAT检测我没有从这个端口发送给B数据,于是这里直接丢包(但是这里tailscale会指挥双方给对面发送UDP数据包,双方同时疯狂发送,疯狂为对方开只允许对方进来的端口,直到对方的UDP数据包到达这里开放的端口
  • 关于IPV6
    嘿嘿😁,以上所有说法基于IPV4,但是IPV6可就不一样了,IPV6地址很多啊,随便玩,根本不需要NAT和相关规则,所以这个直接可以建立P2P连接

总结

这个东西很好用,当你的设备绑到一个局域网的时候,这个时候协作就可以很方便,你可以部署smb文件服务器当你的NAS,可以享受高速的远程控制体验,比如我写这个是用的MAC,但是画图用的却是Win,还是很方便的。

http://www.jsqmd.com/news/638741/

相关文章:

  • 从“流量曝光”到“仪式感植入”:2026新茶饮海外网红营销的场景革命
  • 专业级AMD Ryzen处理器调试工具:解锁硬件潜能的完整指南
  • linux内存迁移
  • 亲测有效!Z-Image-Turbo解决AI绘画三大痛点:慢、黑、崩
  • 盘点2026年河南亲子海盗船厂,口碑好的品牌大揭秘 - 工业品牌热点
  • 别再只会用Cesium加载地球了!手把手教你用Cesium Ion和3D Tiles打造一个智慧城市可视化大屏(附完整代码)
  • 2026年靠谱的移民企业推荐,诚信专业机构助你开启海外新生活 - mypinpai
  • 还在为20V/36V工具12V供电方案续航差、纹波大、发热重发愁吗?CSM7343F12SR拥有45V高耐压,3μA极致微功耗让工具待机续航翻倍,让你的电动工具设计更稳、更省、更简单
  • 告别提取码焦虑:3分钟解锁百度网盘资源的智能助手
  • 2026 四款 AI 企业部署指南
  • 006、技能重构(下):Python开发者必须掌握的AI工具链与硬核技能
  • 【Java】报错:NullPointerException
  • Qwen2.5-VL-7B-Instruct开发者指南:自定义提示词模板+视觉指令工程最佳实践
  • 云原生数据治理最佳实践
  • Matlab MK突变检验算法程序详解:含测试数据集与注释,初学者适用,数据替换即可快速生成图表
  • iFluor 750-beta-Amyloid (1-42)红外荧光探针 蛋白聚集可视化工具
  • 规划建议:为产品经理量身定制的CAIE认证备考节奏与时间管理方案
  • 如何解决游戏按键冲突:Hitboxer终极按键映射工具指南
  • 从 Seq2Seq 到注意力:用「翻译一句话」搞懂编码器、解码器与 Query/Key/Value
  • 三步解锁WeMod Pro:免费获取高级功能的终极指南
  • Wan2.2-I2V-A14B在C语言项目中的调用:通过封装Python服务实现
  • BarrageGrab:多平台直播弹幕实时采集的一体化解决方案
  • AIVideo效果展示:多风格视频生成作品,实测惊艳
  • CefFlashBrowser:Flash内容终极解决方案,让经典重现的专业工具
  • STM32H7 GPIO实战:用CubeMX和STM32CubeProgrammer实现LED闪烁(避坑指南)
  • 李慕婉-仙逆-造相Z-Turbo网络应用:解决复杂网络拓扑图自动绘制
  • 【PyTorch】单机多卡数据并行实战:从DataParallel到性能优化
  • 如何在5分钟内免费配置你的Windows本地实时语音转文字工具
  • Pixel Couplet Gen惊艳案例:用户输入‘升职加薪’生成带像素金币动画的春联
  • PVE Tools技术深度解析:Proxmox VE自动化管理工具的价值实现与架构设计