盘点那些流行的内网穿透技术
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
接触OpenWrt也有一段时间了,从刚开始给0元撸来的某讯k1路由器心慌慌刷breed到现在,也慢慢的熟悉了内网穿透的技术。最开始接触内网穿透的原因是我想远程管理我家里面的路由器,因为毕竟自己去一个陌生的地方上学了,家里的网络稍微有一点不好使,也会对家里造成不小的影响吧,毕竟调试路由不是一件特别简单的事情。 尝试了不少的固件,这里顺便说说: p大的华硕固件,界面美观,即刷即用,支持opt安装PHP,nginx,MySQL,ssr各种各样的插件,其实也算不上是插件了,因为华硕固件生出来就是缺少类似于openwrt那样的软件源的支持,算然可以通过手动的方式添加组件,但是相对于openwrt或者dd,这方面还是欠佳。 openwrt家族,有名的就是国内的pandorabox、明月的啦。我使用的是原生的openwrt,自己定制组件的话,会更有意思吧。 悉数内网穿透技术,华硕固件一直集成的很好,我所认识的大多数的内网穿透技术都是在华硕固件上发现的,进而才想方设法的让它在openwrt上得以实现。 ngrok 我使用的第一个内网穿透技术,那是在2016年的夏天~~~一个晴朗的中午,即将结束暑假的我瞎给家里的路由器增加一个远程操纵的功能,于是百度一下发现了ngrok,当时的sunny代理的ngrok还是免费的呢!于是在openwrt软件源找到了ngrok和它的luci,opkg install一下,进行了基本的配置,就实现了一个简单的流量代理。ngrok发展至今,更新换代了好几个版本了,现在的luci,自带server和client,也就是说我的路由如果有一个公网ip的话,是可以用来作为ngrok的server端的,不过梦想终究是梦想,移动宽带能给我公网ip?下面附上2016年末的更新的ngrok的luci界面。 官方介绍:(百度很官方= =) ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。(仅此而已) ngrok官方地址:(真的官方)https://ngrok.com/
优点:使用方便,一键程序居多,配置简单,公共服务器较多,各平台支持,可以自己搭建服务器,共享自己的服务器。 缺点:流量走总结点,收费是趋势,tunnel有时不稳定(取决于服务器)
n2n v1/v2 n2n 的工作原理和tunnel有些不同,n2n我感觉有点类似于p2p,或者是udp打洞技术,因为n2n的两个edge(即客户机)一旦建立起连接之后,将会只用很少的流量经过supernode(超级节点)了。类似于小电影种子p2p,里面也利用的vpn 的技术在内,提供了一个点对点的vpn连接。怎么形容好呢?嗯,就像是你和我都在使用xxx提供的免流服务,你的手机上有一个openvpn,你的ip是10.0.0.2,我的手机上面也有一个openvpn,我的ip是10.0.0.4,这样我们通过xxx提供的云免服务器的时候,你我服务器三者 关系就像是家庭局域网中的一台路由和两个终端一样,大家都处于一个局域网下,你和我都是对等的,我可以ping 10.0.0.2到你。终端之间可以通过upnp那种技术进行流量交换。更神奇的是,使用n2n可以直接在你和我直接进行数据交互而不经过路由。 简介:(摘自http://blog.csdn.net/yetyongjin/article/details/7419894) N2N是一款开源的P2P VPN软件,其作者是著名的开源网管软件ntop的作者Luca Deri。N2N是一个双层架构的VPN,它让用户可以在网络层上开发P2P应用的典型功能,而不是在应用层上开发。这意味着用户可以获取本地IP一样的可见度(比如说,同一个n2n网络内的两台PC机可以相互ping通),并且可以通过n2n虚拟网内的IP地址相互访问,而不必关心当前所属的物理网络地址。可以这样说,OpenVPN是把SSL从应用层转移到网络层实现(比如说实现https协议),而n2n则是把P2P的实现从应用层转移到网络层。 N2N网络构架图
优点:数据安全,p2p模式,流量直接交换,不通过supernode(但总会有流量通过supernode),可以自己搭建服务器。 缺点:访问者需要另外安装app,与supernode建立连接之后料能与edge通信,使用复杂。
花生壳内网版 在路由上运行花生壳内网版得益于花生棒的出现。从gtihub上得到花生壳的源码,对源码针对mips32le进行交叉编译,即可得k1可运行的花生壳内网版程序。 这两个玩意挺大的,当初在k1上折腾这个的时候,闪存老是不够,最终还是放弃了。后来研究华硕固件,发现华硕固件也没有啥好的解决方法,愣是增大了分区大小,把两文件塞进去了。花生壳内网版说白了就是有一个好听名字的frp。用的技术很类似。支持tcp,udp.https.http,socket5应用。所以流量最后还是得走传说中的rootnode,所以花生壳对产生的流量进行限制以及收费也是正常的。不过这个费用,有点贵吧。。。 说实话,花生壳挺好用的!虽然收费的很坑,但是每月免费1g穿透流量,也算是非常的良心了唉。对于我自己来说,简单的管理路由,登录一下内网的服务器,这点流量也绰绰有余。 花生壳的一些例子网址:http://service.oray.com/category/28_1.html 本人用花生壳搭建了php小服务器:http://15o04z7976.imwork.net:25897/
优点:中国的= =中文的,各平台支持,强大的团队支持(虽然有时候我们没买它的花生棒),流量每月免费1g,功能强大。我现在用的就是这个方案。 缺点:流量贵= =
frp内网穿透 frp是我最近在研究的东西,当然是研究怎么去使用= =我对frp 的开发者持有一种敬畏的态度,可望不可及,绝对大神级别的任务。frp使用Go语言开发。所以要在自己的Linux编译frp的话,要先配置go环境,我使用的是go1.8,支持交叉编译,通过阅读大神的文章,编译的过程还算顺利,此外我也优化了编译的流程,很多弯路我会尽量指出,争取更加完善。 编译frp原文链接:http://www.jianshu.com/p/bacdcfe8850a 优化:在更改完etc/profile后,source一下,就不用重启了。#source /etc/profile 优化:在makefile.cross-compiles最后追加 env GOOS=linux GOARCH=mipsle go build -o ./frpc_linux_mipsle ./src/cmd/frpc env GOOS=linux GOARCH=mipsle go build -o ./frps_linux_mipsle ./src/cmd/frps 然后执行make –f ./makefile.cross-compiles即可跳过原作者第四步及其以后的步骤,直接编译全平台的二进制包,如果只想编译某一平台的话,可以自己适当修改makefile.cross-compiles文件。frp编译好之后有两个文件,frps和frpc,分别对应着服务器和客户端。 配置好ini之后,使用./frps -c ./myfrps.ini&即可在服务器开启服务器端。 配置好ini之后,使用./frpc -c ./myfrpc.ini&即可在服务器开启客户机端。 作者介绍frp:frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. Now, it supports tcp, udp, http and https protocol when requests can be forwarded by domains to backward web services. 作者github:https://github.com/fatedier 该文章在 2017/5/30 16:34:40 编辑过 |
关键字查询
相关文章
正在查询... |