这两天折腾 ESP32,结果只能在家里联网出门就挂 于是研究了下内网穿透,出门在外面通过 Tailscale 连接家里的设备。之前远程家里的 Codex 用… · @0xNathanWalk · TwKit
@0xNathanWalk
这两天折腾 ESP32,结果只能在家里联网出门就挂 于是研究了下内网穿透,出门在外面通过 Tailscale 连接家里的设备。之前远程家里的 Codex 用的 Tailscale,没想到 ESP32 也可以这么玩。 研究 Tailscale 的过程中,一些听了用了很多年的概念顺手学习了下。 ▰ 私有 IP IP 分为公网 IP / 私有 IP,是地址的分类,家里、邻居家、公司,都可以使用私有 IP,甚至可以重复。 如两家的电脑 IP 都可以是 192.168.1.20,但它们在两个独立网络里。 So,知道对方是私有 IP 还不够,电脑间发送消息还需要知道:哪些地址属于我当前的本地网络。 ▰ 子网掩码 作用:确定本地地址范围,假设电脑配置是: IP:192.168.1.20 掩码:255.255.255.0 网关:192.168.1.1 IP 和掩码一起,确定它所在的子网: 192.168.1.0/24 /24 就是掩码的另一种写法。这一段共有 256 个地址,通常可分配的是 .1 ~ .254,网关也占一个。 当腰访问 192.168.1.30 时 -> 首先在本地网络寻找 当要访问 192.168.2.30 或互联网其他 IP 地址时 -> 优先交给默认网关 所以,目标即使也是私有 IP,也可能需要通过网关转发。 ▰ 两个子网,掩码可以一样 如一个公司可以有两个子网: 办公网:192.168.1.0/24 访客网:192.168.2.0/24 掩码可以一样,但地址范围不同 如果把一个 /24 平均拆成两块,就可以用 /25: 192.168.1.0/25 -> .0 ~ .127 192.168.1.128/25 -> .128 ~ .255 这时,.20 和 .150 即使前三段一样,也属于不同子网。 ▰ IP 和网关,谁分配的? 家里的设备通常通过 DHCP 自动获取网络配置 路由器提前设置好地址池 -> 手机接入 Wi-Fi -> 申请配置 -> 获得 IP、掩码、网关、DNS 等信息 网关经常是 192.168.1.1,只是常见习惯,也可以是 .254,前提是路由器确实使用这个地址 当然也可以手工设置固定 IP,或者在路由器里做DHCP 地址保留。 后者仍然自动获取,只是每次分配指定地址 ▰ Tailscale 怎么找到家里的设备 Tailscale 会让加入的设备组成一个虚拟专用网络,通过加密连接通信,并分配 Tailscale 地址。 如家里的 Mac mini: 局域网 IP:192.168.1.30 Tailscale IP:100.90.0.1 手机从家里到了图书馆,局域网 IP 可能变了,但连接时填写的目标仍然是: 100.90.0.1 Tailscale 地址不会因为切换 Wi-Fi 或移动网络就跟着改变。 Tailscale 大概工作过程: 访问目标地址 -> 系统按路由交给 Tailscale -> 加密封装 -> 通过当前网络传输 -> 到达家里的 Mac mini。 能直连就直连,无法直连时可以通过中继转发。 数据依然经过图书馆的路由器,只是它负责转发外层数据。Tailscale 再把里面的数据送到对应设备。 --------------------- 简单理解: IP -> 找哪个地址 掩码 -> 本地设备IP范围在哪里 网关 -> 默认往外走时,数据先交给谁 DHCP -> 自动发放网络配置 路由表 -> 去指定目标具体走哪条路 Tailscale -> 让不同网络里的设备建立加密连接 一东西想要了解清楚要搞定的东西还真多,各种奇奇怪怪的知识不断增加。😢 -------------------- 新版固件设计成有网络连接机器人眨眼,无网络连接则闭眼。 目前将手机热点配置进去了,后续把外面常用的几个网络全配置进去,这枚 Stopclock 就彻底自由了。🤣
曝光 120 · 评论 1 · 点赞 1 · 书签 0
查看原帖