一、NAT网络了解
我们一般上网的网络带宽都是经过本地网络商NAT路由器转发的,在NAT网关上会有一张映射表,表上记录了内网向公网哪个IP和端口发起了请求,然后如果内网有主机向公网设备发起了请求,内网主机的请求数据包传输到了NAT网关上,那么NAT网关会修改该数据包的源IP地址和源端口为NAT网关自身的IP地址和任意一个不冲突的自身未使用的端口,并且把这个修改记录到那张映射表上。
简单点说,个人和大多公司网络环境本地都没有公网IP,本地接入网的路由器WAN口获取的是内网IP地址,类似10或192开头或是网络商专属局域网IP。对于普通只是上网的人来说,是没有什么问题,但如果是本地搭建部署了网络服务,还需要提供异地互联网上连接访问时,就需要用到内网穿透工具了。
二、常见的几款内网穿透工具
内网穿透,即内网映射,内网IP端口映射到公网。较为通用的技术方案就是采用软件为载体,实现无公网IP提供公网访问。类似内网穿透工具有不少,常见的有如nat123、花生壳、快解析、frp等,下面汇总整理参考。
1.nat123
nat123 内网穿透工具的主要特点包括功能丰富、稳定性较好、适用场景广泛等。具体来说:
功能丰富:nat123支持动态域名解析(DDNS)、内网穿透、端口映射等功能,并提供动态域名解析API接口,适用于需要自动化管理的企业级用户。
稳定性较好:nat123有中转服务器和点到点穿透双模式,因此在防火墙穿透和稳定性方面表现较好,适合一般的远程控制、数据访问等日常需求。
适用场景广泛:适用于个人和企业级应用和需要较强穿透能力和稳定访问的场景,如远程控制、数据访问等日常需求。作为公网地址使得时,可以用自己域名,也可以用自动生成的二级域名。
操作简单:在目标内网网络环境下下载安装并添加配置自定义内外网信息,操作相对简单。
此外,nat123还支持多种端口映射类型,包括80http、443https、非80网站、同端口直连等,满足不同服务的需求。它还自带防火墙功能,支持P2P穿透不限速,确保数据传输的安全和稳定。
2.花生壳
花生壳 内网穿透的主要特点包括以下几点:
设备兼容性强:花生壳客户端已经深度适配了市面上主流的NAS设备和多种操作系统,包括Windows、Linux、Android、树莓派等系统和硬件平台。
网络协议支持全面:花生壳支持多种主流协议类型,包括HTTP、HTTPS、TCP等,可以满足用户在远程访问过程中遇到的协议需求。
操作简便:花生壳客户端提供全流程的图形化操作,配置简单,几乎没有上手门槛。
应用场景广泛:花生壳内网穿透技术适用于多种场景,如远程访问 NAS 、自建游戏服务器、影音串流等。通过在公网服务器与内网设备间建立安全隧道,能够突破多层NAT环境下的访问限制,实现稳定的数据传输。
3.快解析
金万维快解析内网穿透区分个人版本(需要公网IP)和企业版本(不用公网IP),其特点主要包括以下几个方面:
实现方式:快解析通过中转服务器来实现内网穿透。当外网用户需要访问内网服务器时,他们会先访问指定的外网服务器(中转服务器)。这个中转服务器就像一座桥梁,打通内外网的访问通道,让外网用户能够顺利访问内网资源。
安全性:快解析它不解析公网IP,也不需要在路由器里开放端口,因此在安全性方面比公网版更有优势。通过将域名解析到金万维腾讯云服务器,因为腾讯云服务器固定放在机房里,还有硬件防火墙做保障,即便受到攻击也不会直接攻击到客户的服务器。
使用方法:用户可以通过打开“快解析”版本客户端,点击首页添加映射,并配置好服务器上应用的内网IP地址及端口信息。外网用户就可以通过生成的域名及端口(公网端口类型)访问服务器上的应用了。如果是B/S架构的软件,可以选择80、8000等固定端口。如需要用到Https协议,可以选择公网端口类型80,外网访问用软件自动生成的域名即可实现。
4.frp
FRP(Fast Reverse Proxy)是一款开源的反向代理软件,主要用于内网穿透,即在NAT或防火墙后实现外部网络访问内网服务器。它具有以下主要特点:
反向代理:FRP支持反向代理,这意味着客户端(通常是内网服务器)主动连接到FRP服务器(通常部署在公网),而不是传统的客户端连接到内网服务器的模式。主要用于穿透NAT和防火墙的限制,允许外部网络访问处于内网环境中的服务。
多种协议支持:支持TCP、UDP等多种协议,适用于不同的应用场景,如Web服务、数据库、游戏服务器等。
灵活的配置:通过简单的配置文件(通常是JSON格式),可以灵活配置FRP服务器和客户端的连接规则。支持动态端口映射,可以根据需要随时调整端口映射配置。
跨平台:支持多种操作系统,包括Windows、Linux、macOS等,使得在不同平台上的部署更为灵活。
部署和管理:提供命令行工具和图形界面工具,便于用户操作和管理。开源项目,拥有活跃的社区和良好的文档支持,用户可以通过社区获取帮助和最新的功能更新。
5.ngrok
ngrok 内网穿透的特点主要包括以下几点:
操作相对简便:ngrok的操作相对简便,适合开发者在本地开发时将本地服务暴露给外部网络访问。用户只需在本地启动服务后,通过ngrok客户端连接到ngrok官方服务器,即可生成一个公网地址,外部用户通过该地址即可访问本地服务。
协议支持广泛:ngrok支持 HTTP 、 HTTPS 和 TCP 协议,能够满足各种网络服务的需求。无论是开发网页应用、提供远程访问服务,还是进行基于TCP协议的网络测试等场景,ngrok都能适用。
功能丰富:ngrok的体验版具备基本的内网穿透功能,能够将本地运行的服务映射至外网,并生成对应的公网访问地址。这对于个人开发者进行小型项目的测试、演示,或是小型团队开展基础网络服务的临时调试非常适用。
适用场景广泛:ngrok适用于各种场景,包括本地开发、项目演示、远程调试等。特别是对于开发者来说,ngrok的简便操作和广泛协议支持使其成为理想的内网穿透工具。
6. Lanproxy
Lanproxy 内网穿透工具的主要特点包括:
配置和使用:Lanproxy配置简单,使用方便。它有一个web配置界面,使得配置和管理变得更加容易。
流量控制:Lanproxy支持流量控制,可以根据需要调整带宽和流量限制,适合不同的使用场景。
支持协议:Lanproxy支持多种协议,包括TCP和UDP,适用于多种应用场景。
使用场景:远程访问,通过Lanproxy,用户可以远程访问内网中的服务器或设备,无需公网IP地址。数据传输,适用于需要稳定数据传输的应用,如远程桌面、SSH访问等。内网资源访问,方便外网用户访问内网的web服务器、数据库等资源。
7.Spike
Spike 内网穿透工具的特点主要包括以下几个方面:
基于隧道协议:Spike通过建立隧道协议,将内网服务映射到外网,实现穿透防火墙的效果。
功能丰富:Spike支持多种协议和复杂配置,能够满足不同的网络环境和需求。
易用性:Spike提供详细的教程和操作指南,方便用户快速上手和使用。
使用场景:临时调试,对于需要临时调试内网服务的场景,Spike可以提供一个快速且安全的解决方案。长期测试,对于需要长期测试内网服务的场景,Spike也可以作为一个可靠的选项。
8. FCN
FCN(Fast Common Network)内网穿透工具的特点主要包括以下几个方面:
高性能:FCN设计目标之一是提供高效的传输速度,能够在有限的带宽条件下提供稳定的连接。
多种协议支持:FCN支持TCP、UDP、HTTP、HTTPS等多种协议,适用于Web服务、数据库、SSH等多种应用场景。
易于配置:FCN提供了简单易用的配置文件和命令行参数,支持快速部署。
跨平台支持:FCN支持多种操作系统,包括Windows、Linux等,方便在不同平台上使用。
使用场景:Web应用远程访问,可以将本地开发的Web服务暴露到外网,进行远程调试和测试。数据库服务暴露,在不暴露真实IP地址的情况下,安全地访问内网数据库。远程SSH访问,通过FCN实现远程SSH登录内网服务器。
9.NPS
NPS(一款由C语言编写的内网穿透工具)主要用于实现内网穿透,即在无法直接访问内网服务器的情况下,通过一个公网服务器作为中转,实现内网与外网的通信。NPS具有以下几个特点:
轻量级与高效性:NPS设计时考虑到资源占用和效率,通常占用系统资源较少,运行效率高。
跨平台支持:支持多种操作系统,如Windows、Linux等,使得用户可以在不同的环境下部署和使用。
多种穿透方式:支持TCP、UDP、HTTP、HTTPS等多种协议的穿透,适用于多种网络应用场景。
配置和使用:提供了图形界面(GUI)和命令行界面(CLI),使得配置和管理更加便捷。配置文件支持,用户可以通过修改配置文件来调整穿透规则和参数。
监控与管理:提供了日志记录功能,方便用户监控和管理穿透服务的运行状态。可以通过Web界面查看连接状态、流量等信息。
灵活的端口转发规则:支持灵活的端口转发规则设置,可以根据不同的需求配置不同的转发策略。
社区支持与文档:拥有活跃的社区和丰富的文档资源,用户可以在遇到问题时寻求帮助或自行解决问题。
三、小结
本地内网搭建服务并使用进行内网穿透时,通常需要自己公网设置或直接借助三方内网穿透服务作为快速实现,内网客户端通过添加自定义好内网地址与连接到外网,从而实现内网服务对外提供访问。这种技术方案特别适用于远程办公、家庭网络服务、跨网互通等任意可上网环境下的场景,为无公网IP环境节省时间和成本。