花生壳内网穿透接下来主要通过:注册域名、搭建内网网站服务、发布外网这3步来介绍搭建独立网站。
内网穿透原理:
当信息由局域网向因特网传递时,源地址从专有地址转换为公用地址。由路由器跟踪每个连接上的目的地址和端口。
当数据返回路由器时,通过记录的连接跟踪数据来决定该转发给内部网的哪个主机;如果此时如果有多个公用地址可用,当数据包返回时,则会客户机的端口号可以用来分解数据包。
内网穿透,即NAT(Network Address Translator)穿透,是指计算机在内网(局域网)内使用私有IP地址,在连接外网(互联网)时使用全局IP地址的技术。该技术被普遍使用在有多台主机但只通过一个公有IP地址访问的私有网络中。
举个例子:比如我在实验室配置了一个服务器 Server A,当我在实验室的时候,就可以通过自己的笔记本使用SSH连接【因为我和服务器处于一个局域网】。
当我回宿舍以后,就没有办法直接使用SSH连接了【因为我和服务器不在一个局域网】,这个时候就需要进行NAT穿透,让我在宿舍也可以使用SSH连接Server A。
内网穿透工具推荐
目前市面上有很多传统工具,较为知名的开源工具有**Ngrok、FRP、 fcn、goProxy**,其他还有一些商用的工具比如花生壳和基于等Ngrok和FRP二次开发的商用软件,接下来进行分类归类和整理。
ngrok系列:
Ngrokngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试。
NatappNATAPP是基于ngrok的国内高速内网穿透服务,其中免费版本提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口。
Sunny-NgrokSunny-Ngrok提供免费内网穿透服务,免费服务器支持绑定自定义域名、管理内网服务器,内网web进行演示、本地WEB外网访问、本地开发微信、TCP端口转发。
小米球小米球旨在给程序猿们调试本地的web项目,免去部署环节,它是提供给有需要的同学免费使用的。
echositeechosite同样ngrok二次开发的内网穿透工具,支持多种协议,以前是全部免费的,现在是收费的,不过普通使用的话1元/月,可根据自己的需要去选择。
SSH
配合autossh工具使用,因为autossh会容错。
项目主页:www.harding.motd.ca/autossh/
项目介绍:自动重新启动SSH会话和隧道。SSH工具是一个非常强大的工具,除了能够远程连接,还能建立隧道,转发端口。利用这个特性就可以把外网的端口请求,连接到内网端口。
SSH本身的连接并不稳定,借助工具autossh可以很稳定的建立隧道,因为失败或者其他网络情况下,autossh会自动维护和保持连接。