基于透传网络实现远程开机
背景
需求场景
这里我们想实现的目标:基于前面文章实现的4G模组透传到LAN的透传网络,实现对家里面的电脑进行远程开机功能,目前只实现基础的功 能即可,可以对此扩展提高远程开机的便捷性,篇幅有限就不在本文讲解了。
网络架构基础
- 内网与外网:在网络环境中,通常存在内网(局域网,LAN)和外网(广域网,WAN)的概念。内网是指在一个相对独立的区域内,由多台设备通过交换机、路由器等网络设备连接组成的网络,如家庭网络、企业办公网络等,内部设备通常使用私有 IP 地址,如 192.168.x.x、10.x.x.x、172.16.x.x - 172.31.x.x 等网段。外网则是指全球范围内通过互联网服务提供商(ISP)相互连接的网络,设备具有全球唯一的公网 IP 地址。
- NAT(网络地址转换):由于公网 IP 地址资源有限,为了让大量的内网设备能够共享有限的公网 IP 地址访问外网,NAT 技术应运而生。它允许将内网中的多个私有 IP 地址转换为一个或少数几个公网 IP 地址,实现内外网之间的数据通信。在 NAT 的作用下,外网无法直接访问内网中的设备,因为外网只知道 NAT 设备的公网 IP 地址,而不知道内网设备的私有 IP 地址。
内网穿透实现方式
- 端口映射:这是一种常见的内网穿透方法,通过在路由器或防火墙等设备上进行配置,将公网 IP 地址的某个端口映射到内网中特定设备的特定端口。这样,当外网用户访问公网 IP 的映射端口时,数据就会被转发到内网中对应的设备和端口上。
- VPN(虚拟专用网络):通过在公网上建立一条加密的虚拟通道,将内网与外网连接起来。用户通过 VPN 客户端连接到 VPN 服务器,就可以像在本地局域网中一样访问内网资源,VPN 不仅可以实现内网穿透,还能保证数据传输的安全性和隐私性。
- 反向代理:通常用于 Web 应用,在内网中部署反向代理服务器,外网用户访问反向代理服务器的公网 IP,反向代理服务器再根据配置将请求转发到内网中的 Web 服务器,实现外网对内网 Web 服务的访问。
- 使用内网穿透工具:市面上有许多专门的内网穿透工具,如花生壳、ngrok 等。这些工具通常通过在本地安装客户端,与云端服务器建立连接,实现内网与外网之间的数据转发,用户无需进行复杂的网络配置,只需在工具中进行简单设置即可实现内网穿透。
远程开机实现方式
方案介绍
基于成本和简易型原理,测评采用frp实现内网穿透,etherwake实现远程开机。通过云主机搭建的frp反向代理服务,来代理开发板上的ssh服务,然后连接到内网开发板,再在内网开发板上执行etherwake小程序,发送Wake-on-LAN魔术包,从而唤醒内网的PC机。