重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
内网穿透即是使用公网服务器作为代理,转发内网(如办公室、家里)的网络请求使其能够在外网中被访问到。
创新互联公司专业为企业提供汾西网站建设、汾西做网站、汾西网站设计、汾西网站制作等企业网站建设、网页设计与制作、汾西企业网站模板建站服务,十年汾西做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
server端监听两个端口,一个用来和接收用户的http请求,一个监听gRPC客户端,和内网服务器进行通信;
client启动时连接server端;
当User请求server http端口时,将http进行阻塞,并将User请求内容通过gRPC发给client;
client将从server收到的请求发往本地的http服务;
client将从本地程序收到的http response通过gRPC发送给server;
server结束http阻塞,将从client收到的http response发给User。
github地址:
1、Ngrok
ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试。
参考博客:10分钟教你搭建自己的ngrok服务器
2、Natapp
natapp是 基于ngrok的国内收费内网穿透工具,类似花生壳,有免费版本,比花生壳好。免费版本:提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口
参考文章:NATAPP1分钟快速新手图文教程
3、小米球
小米球是基于ngrok二次开发的内网穿透工具,支持多协议、多隧道、多端口同时映射(http、https、tcp等等...),同时支持多种系统win、linux、linux_arm、mac等。具体的使用直接参考官网。
4、Sunny-Ngrok
Sunny-Ngrok同样是ngrok二次开发的内网穿透工具,支持http,https协议,同时支持更丰富的系统和语言:linux、win、mac、openwrt、 python、php等。
教程:Sunny-Ngrok使用教程
5、echosite
echosite同样ngrok二次开发的内网穿透工具,支持多种协议,以前是全部免费的,现在推出了收费版和免费版,可根据自己的需要去选择。
参考教程:EchoSite---让内网穿透变得简单
6、Ssh、autossh
ssh 配合autossh工具使用,因为autossh会容错,自动重新启动SSH会话和隧道。autossh是一个程序,用于启动ssh的副本并进行监控,在死亡或停止传输流量时根据需要重新启动它。 这个想法来自rstunnel(Reliable SSH Tunnel),但是在C中实现。作者的观点是,它不像匆匆忙忙的工作那么容易。使用端口转发环路或远程回显服务进行连接监视。在遇到连接拒绝等快速故障时,关闭连接尝试的速度。在OpenBSD,Linux,Solaris,Mac OS X,Cygwin和AIX上编译和测试; 应该在其他BSD上工作。免费软件。
使用教程:SSH内网穿透
7、Lanproxy
lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。
参考教程:业余草推荐一款局域网(内网)穿透工具lanproxy
8、Spike
Spike是一个可以用来将你的内网服务暴露在公网的快速的反向代理,基于ReactPHP,采用IO多路复用模型。采用Php实现。
参考教程:使用 PHP 实现的的内网穿透工具 “Spike”
9、Frp
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
教程:一款很好用的内网穿透工具--FRP、使用frp实现内网穿透
10、Fcn
FCN[free connect]是一款傻瓜式的一键接入私有网络的工具, fcn利用公共服务器以及数据加密技术实现:在免公网IP环境下,在任意联网机器上透明接入服务端所在局域网网段。支持多种系统,有免费版和付费版。
教程:内网穿透工具FCN介绍
上面便是我所知道的内网穿透工具,其中ngrok相关的我基本都用过还有frp,都差不多。大部分都可以免费去使用,但是我不建议大家把这些免费的穿透工具去放到比较重要的云服务器中去使用,容易被攻击。我的小伙伴,开始你的穿透之旅吧。
Proxy-Go 详细介绍
Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5代理服务器,支持正向代理、反向代理、透明代理、内网穿透、TCP/UDP端口映射、SSH中转、TLS加密传输、协议转换、DNS防污染代理。
Features
链式代理,程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至N级代理。
通讯加密,如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征。
智能HTTP,SOCKS5代理,会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理。
域名黑白名单,更加自由的控制网站的访问方式。
跨平台性,无论你是widows,linux,还是mac,甚至是树莓派,都可以很好的运行proxy。
多协议支持,支持HTTP(S),TCP,UDP,Websocket,SOCKS5代理。
TCP/UDP端口转发。
支持内网穿透,协议支持TCP和UDP。
SSH中转,HTTP(S),SOCKS5代理支持SSH中转,上级Linux服务器不需要任何服务端,本地一个proxy即可开心上网。
KCP协议支持,HTTP(S),SOCKS5代理支持KCP协议传输数据,降低延迟,提升浏览体验.
集成外部API,HTTP(S),SOCKS5代理认证功能可以与外部HTTP API集成,可以方便的通过外部系统控制代理用户。
反向代理,支持直接把域名解析到proxy监听的ip,然后proxy就会帮你代理访问需要访问的HTTP(S)网站。
透明HTTP(S)代理,配合iptables,在网关直接把出去的80,443方向的流量转发到proxy,就能实现无感知的智能路由器代理。
协议转换,可以把已经存在的HTTP(S)或SOCKS5代理转换为一个端口同时支持HTTP(S)和SOCKS5代理,转换后的SOCKS5代理不支持UDP功能,同时支持强大的级联认证功能。
自定义底层加密传输,http(s)\sps\socks代理在tcp之上可以通过tls标准加密以及kcp协议加密tcp数据,除此之外还支持在tls和kcp之后进行自定义加密,也就是说自定义加密和tls|kcp是可以联合使用的,内部采用AES256加密,使用的时候只需要自己定义一个密码即可。
底层压缩高效传输,http(s)\sps\socks代理在tcp之上可以通过自定义加密和tls标准加密以及kcp协议加密tcp数据,在加密之后还可以对数据进行压缩,也就是说压缩功能和自定义加密和tls|kcp是可以联合使用的。
安全的DNS代理,可以通过本地的proxy提供的DNS代理服务器与上级代理加密通讯实现安全防污染的DNS查询。
Why need these?
当由于安全因素或者限制,我们不能顺畅的访问我们在其它地方的服务,我们可以通过多个相连的proxy节点建立起一个安全的隧道,顺畅的访问我们的服务.
微信接口本地开发,方便调试.
远程访问内网机器.
和小伙伴一起玩局域网游戏.
以前只能在局域网玩的,现在可以在任何地方玩.
替代圣剑内网通,显IP内网通,花生壳之类的工具.
家里 Nas 中安装了一系列服务,如果局域网外访问不了,手机上连不上,就十分不方便。可以配合网云穿工具,然后根据提示做下简单配置,然后系统会分配一个二级域名,然后在后台绑定下,直接访问这个二级域名就可以访问家里的nas了。速度也比较快。有免费版本,个人测试还是可以的,也支持断线重连,如果是正式发布商用的话,建议使用付费版本。
购买了NAS当然不希望只能局域网访问, 由于目前ipv4地址的紧张, 已经不太可能分配给家庭用户公网ipv4地址了. 目前外网直接访问NAS的办法有两个:
似乎ipv6还是可以申请的. 基本上打电话给客服就说需要ipv6地址就可以了.
只是这时候为了外网访问NAS, 路由器一定要支持ipv6(买前先问好).
其次, 200~300的路由器基本不支持ipv6防火墙设置(500+的软路由可以), 从而需要更改光猫的上网模式为桥接(电信的话, 自己google光猫的型号, 基本都可以得到超级管理员, 然后参考网上教程设置即可), 由路由器拨号上网.
路由器现在有两个拨号, 一个ipv4, 一个ipv6. 但我们其实只有一条线路, 从而需要勾选ipv6的拨号方式为复用ipv4线路.
我用的是水星的X32G路由器, 感觉比较方便.
成功后我们会在NAS的网络里面看到两个ipv6地址, 你可以用手机的移动数据网络访问NAS的ipv6地址: http://[ipv6 addr]:5000
NAS正版的话自带一个内网穿透, 就是你设置的用户名xxx.quickconnect.cn; 这个内网穿透基本上能够满足日常需要. 但很明显, 不支持自建服务(例如视频Jellyfin等docker应用的穿透).
比较好的穿透方式是frp, 可以用 公共的服务器 (自建也很方便), 按照教程配置即可.
这里, 我给出frp的另一个应用, 远程控制NAS所在局域网路由器, 用到了frp的http代理服务.
fprs配置自己参考网络上的教程, 可以采用公共的. frpc配置如下
这样, 我们就可以通过设置浏览器的代理地址为 来通过代理访问NAS局域网了, 例如访问路由器地址 其实访问的是NAS所在局域网的路由器.
holer 轻量级的内网穿透工具,holer服务端采用Java语言实现,服务端界面漂亮简洁。
Holer客户端采用了Java语言和GO语言实现了两种版本,支持几乎所有的OS平台。
用到流行的微服务框架springboot和Java网络框架netty。
配置很简单,针对所有TCP协议只需在客户端设置一个holer access key即可。
采用MySQL数据库统一管理数据。
联想nas支持内网穿透。
nas正版的话自带一个内网穿透, 就是你设置的用户名xxx.quickconnect.cn; 这个内网穿透基本上能够满足日常需要. 但很明显, 不支持自建服务。
比较好的穿透方式是frp,远程控制NAS所在局域网路由器, 用到了frp的http代理服务。