如何通过外网访问内网服务器(访问内网服务器的详细步骤)

前言

为了理解内网穿透我们先来了解以下几个概念:

IP

如何通过外网访问内网服务器(访问内网服务器的详细步骤)内网IP

私有IP

虽然它们不能直接和Internet网连接,但通过技术手段仍旧可以和Internet通讯。(即本文的内网穿透)

外网IP域名

域名转换

内网穿透

NAT穿越(NAT traversal)涉及TCP/IP网络中的一个常见问题,即在处于使用了NAT设备的私有TCP/IP网络中的主机之间建立连接的问题。–Wiki

NAT

NAT网关

NAT的实现方式有:

NAT特点:

网络被分为私网,公网两部分,NAT网关设置私网到公网的路由出口。

网络只能由私网侧发起,公网无法主动访问私网主机(是这样设计的,所以便要穿透它)

NAT网关的存在对通信双方保持透明

NAT网关为了实现双向翻译,需要维持一张关联表,将会话信息保存

内网穿透软件

Ngrok通过在公共的端点和本地运行的Web服务器之间建立在TCP之上的端到端的安全隧道(tunnel),两端的程序在其实现的隧道内透明的进行数据交互,将NAT和防火墙后面的本地服务器暴露给公网。

Ngrok

国内免费的Sunny-Ngrok软件(https://www.ngrok.cc/)是通过反向代理技术(隐藏真实的服务器端)实现内网穿透(准确说它不是NAT穿越技术,而是NAT旁路技术,简单说,就是在NAT网关所在的位置旁边放置一个应用服务器。)

穿透流程

穿透过程简述:

当Ngrok服务端接收到连接,就读取映射表,判断接收的端口对应于哪一个Ngrok客户端,然后向该客户端转发数据。

该客户端和内网服务器建立连接后,向Ngrok服务端返回一个连接,作为转发通道,此时通道建立完毕。

当Ngrok服务端读取到用户发送的请求数据,将通过转发通道转发到已连接的客户端,客户端读取响应并通过转发通道返回给请求。

所以,内网穿透实现了内外网通讯,让外网访问内网服务器不再是距离!

发表评论

登录后才能评论