前言:
在局域网搭建了个服务,外网想访问怎么办呢,别担心今天小编带来个开源免费的工具?
1、什么是内网穿透?
首先解释一下“内网”与“外网”的概念:
内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的。
外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是唯一的。也就是说内网里所有的计算机都是连接到这一个外网IP上,通过这一个外网IP对外进行交换数据的。也就是说,一个局域网里所有电脑的内网IP是互不相同的,但共用一个外网IP。(用ipconfig/all查到的IP是你本机的内网IP;在http://www.ip138.com上看到的是你连接互联网所使用的IP,即外网)。
2、钉钉提供的内网穿透工具
(1)github网址:
https://github.com/open-dingtalk/pierced
(2)介绍
本仓库及以下说明来自钉钉官方开发文档。
注意:鉴于很多开发者在临时体验开发时往往没有公网域名或者公网IP,本工具提供了一个公网代理服务,目的是方便开发测试。
本工具当前不保证多个开发者随意设置相同的子域名导致的冲突以及通道稳定性,因此正式应用、正式环境必须是真实的公网IP或者域名,正式应用上线绝对不能使用本工具。
内网穿透示意图
使用方法
HTTP 穿透
下载工具
1
git clone https://github.com/open-dingtalk/pierced.git
执行命令
./ding -config=./ding.cfg -subdomain=域名前缀 端口
。以 Mac 为例:
1
2
3cd mac_64
chmod 777 ./ding
./ding -config=./ding.cfg -subdomain=abcde 8080Windows:
1
2cd windows_64
./ding -config ding.cfg -subdomain abcde 8080
3、下面小编以windows为例做个测试:
1 | 注意 -subdomain 后面的参数,最好复杂一些,避免有人已经使用,导致操作不成功 |
(1)搭建服务端server
1 | # -*- coding: utf-8 -*- |
(2) pull代码进入windows目录下
1 | cd windows_64 |
运行后结果显示:
(4)测试是够成功,我们在外网访问下 index和callback_client 接口
完美成功,更多的功能,请移步官网,参考教程
(4)tips:
frp也是免费的,而且贼好使。但是 frp前提自己要有公网ip,云服务器之类的。
结束语:
今天的分享就到这里了,欢迎大家关注微信公众号菜鸟童靴