1、前言
绝大数开发都依赖网络来加载文件和数据。经常需要从外网访问内网设备,例如,远程调试内网环境;内网部署的应用发布在外网;在外网访问实验室的高性能GPU的开发环境等等。
关键词:内网; 外网; 内网穿透
2、什么是内网、外网?
2.1 、内网
内网又称为局域网(Local Area Network,LAN),是在一个局部的地理范围内(如一个学校、工厂、企业或家庭等),将各种计算机、外部设备和数据库等互相连接起来组成的计算机通信网内网。可以实现文件管理、应用软件共享、打印机共享工作组内的日程安排、电子邮件和传真通信服务等功能。
一句话总结,内网是企业或个人内部的,是私有的,内部人员才能访问。
2.2 、外网
外网又称广域网(Wide Area Network,WAN),也称为远程网/公网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信。外网可以实现全球范围内的信息交流和资源共享。
一句话总结,外网就是互联网,是公有的,谁都可以访问。
2.3 、内网与外网区别
范围大小:内网主要是在特定的空间内才能实现,常见于单位公司,可以共享某些设备的使用,而外网的空间变换却十分的灵活,可以很小,也可以很大。
IP地址:使用全球唯一的外网 IP 地址,ISP(互联网服务注册商)统一分配和管理,外网的Ip是不能冲突的,内网是可以冲突的,内网一般是从路由器以下开始的。
传输速率:由于环境的限制,内网的传输速度要比外网快的多,但是它有局限性,只能是在局域网内部的互传比较快,而对于外网来说,它就可以随便传输文件。
安全性:内网相对来说多了一层防火墙,安全性会高一些,而外网都是直接接触,它的安全系数就比较低。
3、内网穿透又是什么?
公司有一台高性能服务器,在外网就无法使用?了解下内网穿透吧。
3.1、 内网穿透是什么
在百度百科、阿里云开发者平台看到的定义:
内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。
换句话说,通过一台外网服务器,把你的内网服务穿透出去,就是别人在外网也能访问你的服务。
说明:只要在一台主机期待lanproxy-client,就可以映射整个局域网所有主机,就是该主机可以ping所有主机
- 访问内网服务,本质上是通过了公网服务器这个桥梁。
- 公网服务器是有公网IP的,而公网服务器和内网的服务器持久保持联系。
- 当用户有请求发送时,公网服务器将请求转发到我们的内网,内网再将响应回复给公网服务器,公网服务器将响应回复给用户。
4、如何实现内网穿透?
商用化的工具有花生壳、ngrok、FRP 等,也有很多免费工具在Github上,大家可以自己搜索。接下来用两张图介绍FRP的方法。
4.1、 FRP内网穿透
FRP是一款开源的内网穿透工具,它可以帮助用户在没有公网IP或动态IP的情况下访问内网应用。
- 在公司配置一台跳板机,给电脑购买一个公网IP
- 在拥有公网ip(或与互联网连通)的PC上安装服务器程序
- 被访问的PC上安装客户端程序,
FRP支持TCP和UDP协议,同时还提供了HTTP和HTTPS转发的功能,非常方便实用。