目录
  1. 1. 为什么要内网穿透
    1. 1.1. 什么是内网
    2. 1.2. 什么是内网穿透
  2. 2. Ngrok——搭建网站服务器的首选
    1. 2.1. 工作原理
    2. 2.2. 使用方法
    3. 2.3. 应用场景
  3. 3. ZeroTier——实现文件服务器、远程访问等
    1. 3.1. 工作原理
    2. 3.2. 使用方法
    3. 3.3. 应用场景
      1. 3.3.1. FTP文件服务器
      2. 3.3.2. 远程桌面访问
两个免费好用的内网穿透工具

看着续费昂贵的XX云,或许你想将自己家中的电脑改造为服务器

用着黑群辉搭建的NAS,或许你也想不在家时便捷使用

看着办公室电脑的资料,或许你需要在家里远程访问

而这都需要内网穿透工具

如果不差钱,尽可以使用花生壳自建外网服务器中转等土豪专用方法

或者,可以看看本文推荐的两个免费工具

为什么要内网穿透

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,

什么是内网

受IPv4地址稀缺的影响,当前的组网方式往往是 NAT 方式,大多数情况下大家都处于大局域网内,ip地址类似于192.168.x.x或172.16.x.x。

用技术的语言表达,局域网的出口路由器拥有公网 IP 地址,局域网内的所有用户都通过同一公网 IP 地址访问互联网,而NAT技术就实现了两大功能

  • 用户访问外网服务器时,将局域网内的内网地址转换为公网
  • 外网服务器返回信息时,将公网地址转换为对应的内网地址

而转换的关键就是NAT网关中维护的映射表,对于局域网内的主机,可简单理解为“内网”

什么是内网穿透

NAT技术虽好,但仅仅实现了公网和内网的地址转换,一旦遇到跨区域网连接的场景就束手无策了

如图所示,仅依靠NAT功能,局域网B中的笔记本无法直接访问局域网A中的内网服务器

  • 局域网A知道公网地址和内网服务器内网地址的映射关系
  • 局域网B也知道公网地址和笔记本内网地址的映射关系

但是局域网A和B没有信息交互机制,带来了一个严重的后果——

虽然内网服务器和笔记本均可以访问公网,但他们彼此之间无法直接通信

而该问题的解决,就需要内网穿透

Ngrok——搭建网站服务器的首选

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道

工作原理

所谓反向代理,说白了就是中转

两个局域网之间不通,那么就找一台公网服务器给他们搭桥

如上图所示,Ngrok在外网创建服务器,并记录到防火墙后面内网服务器的路径,用户访问Ngrok的外网服务器,由外网服务器中转到内网

优点很明显,中转节点非常的可靠稳定,缺点就是对链路资源的消耗,如果Ngrok服务器在遥远的地方,那么中转的速度将会十分感人

顺便说一下,在计算机网络领域,反向代理是一个更大的概念,可以点击链接进一步了解

使用方法

Ngrok本质上是一个技术,所以任何人都可以搭建Ngrok服务器

国外免费的Ngrok服务器可点击网址注册使用

但考虑到服务器在国外,速度感人,加上部分文章指出,这个服务器每次启动都会分配不同的域名(此条未考证,存疑)

我在测试用使用的是国内搭建的免费Ngrok:Sunny-Ngrok,准确的说,网站提供了1个免费的香港服务器,其他的服务器都需要收取一定的费用

选择服务器后进行简单的设置,就可以拥有属于自己的Ngrok隧道,更棒的是Sunny-Ngrok还会赠送免费的固定域名,格式为用户名.free.idcfengye.com,虽然域名的深度已经到第三级,免费的,还要什么自行车呢

确定隧道信息后可在隧道管理页面看到属于自己的id,只需要根据服务器环境下载对应的客户端,即可使用,不得不说,Ngrok真是支持各种环境——Linux、Windows、Mac、梅林、openwrt、PHP、Python等

只需要运行客户端输入隧道ID,就可以启动Ngrok服务,免费赠送的域名就顺利的绑定在本地端口(绑定的端口号可在隧道管理配置)

既然Ngrok是提供中转服务,所以需要特别注意两个信息:

  • Sunny-Ngrok提供的免费域名:对外中转,给其他终端访问使用
  • 绑定的本地端口:对内中转,映射回内网服务器

Sunny-Ngrok的创建者还提供了Sunny博客,详细介绍了使用方法,免费的Ngrok隧道目前只能绑定http端口,网站还提供了付费的frp隧道,可以绑定tcp端口

如果你桌面上一直运行着dos窗口有些碍眼,可以参照这篇文章,使用Natapp技术,将Ngrok注册为windows服务,自动后台启动

应用场景

既然免费的Ngrok隧道可以实现web端口的转发,在内网搭建自己的网站服务器就成为了可能

你所需要的准备只有这些

1.一台部署在路由器后面、可以访问外网的计算机
2.在计算机上部署web服务器和应用
3.在计算机上运行Sunny-Ngrok,并绑定域名和端口

当一切搭建就绪,你就把自己的路由器后面的内网电脑改造成了对外的网络服务器

顺便说一下,http协议并不一定是网页服务器,也可以搭建文件服务器,常见的工具例如HttpFileServer,网上也可以搜索到汉化版

需要特别提示的是——

一台台式电脑配置中等的,功率在350W,那么使用24小时的耗电应该是350x24=8400w,那么根据居民用电标准,每度电0.5元,就是4.2元

这么算下来,一年的电费开支就在1500块钱左右,这价钱。。。远远超过1台云服务器的费用了!!!

所以,一定要电费不需要纳入考虑的场景下,选用此方案

ZeroTier——实现文件服务器、远程访问等

Use the easiest to manage and most widely supported network virtualization platform to connect all your devices, cloud VMs, and apps as if the whole world is one big cloud region!

使用最容易管理和支持最广泛的网络虚拟化平台连接所有设备、云虚拟机和应用程序,就好像整个世界都是一个巨大的云区域一样!

工作原理

Ngork设置中转服务器,勤勤恳恳地转发每一条信息不同,ZeroTier可以说是另辟蹊径

ZeroTier的做法是将所有需要连接在一起的网络设备组成虚拟的大型局域网

通俗的说,一旦进入了ZeroTier大型局域网,不管是具有公网ip的外网终端,还在躲在路由器后面的内网终端,除了原来的网络连接外,会额外加入虚拟专用网络(VPN),在这个网络内,终端之间的连接畅通无阻

在这种应用模式下,ZeroTier和Ngrok有存在两个本质的区别

  • ZeroTier是去中心化的,服务器仅存放路由表,终端之间的通信完全采用UDP直连,而Ngrok则全部由服务器中转信息
  • ZeroTier的运转需要每个加入的终端上都安装客户端,实现UDP直连的数据通信,而Ngrok则只需要在作为服务端的内网设备运行隧道程序,其他访问的终端无需安装任何程序

或许你会觉得ZeroTier更加繁琐,不如Ngrok好用,其实不然,在两个特定场景下,ZeroTier表现更优:

  • 一是传输速度不受服务器位置影响,即使负责维护路由表的服务器在国外,只要两台终端之间建立UDP连接,后续的所有传输都是终端之间的事情,而假设在香港的Ngrok会让你在访问时学会耐心
  • 二是网络安全性更高,除非主动设置为无条件公开,所有要加入ZeroTier大局域网的终端都要在管理界面审批,对于安全性要求高的应用再合适不过了,比如FTP文件服务器或是远程桌面等,而Ngrok则完全暴露到外网的攻击下

顺便一说,VPN的功能也远远超出上述应用,具体可详见链接

使用方法

与技术公开的Ngrok不同,我暂时没有查到多家搭建ZeroTier的信息,如需使用直奔官网

因为服务器在国外,官网访问速度较慢,但正如上面所说,只要建立终端之间的UDP直连,服务器在国外无关紧要

注册登录后点击NetWorks,就可以新建一个属于自己的局域网,并获得网络ID,点击网络ID进入设置界面,可以选择自己的喜欢的局域网网络、审批同意其他加入网络的终端等

设置完毕后,就需要下载客户端,在所有需要加入局域网的终端上安装

非常棒的是,ZeroTier也是全平台支持:Windows、MacOS、Linux、Apple iOS、Android、FresBSD、Synology NAS、QNAP NAS、WD MyCloud NAS等,真的是只有想不到,没有做不到

只需要在客户端上点击加入网络,输入属于你的网络id,就可以完成内网穿透的远程组网

应用场景

FTP文件服务器

网盘太坑,不是花钱就是限速,干脆搭建自己的FTP文件服务器——

1.找一台可以24小时开机的联网计算机,即使在路由器后面的内网也无所谓
2.安装配置FTP服务器软件,推荐:FileZilla Server、Wing FTP Server、Serv-U File Server,均有免费版本
3.申请ZeroTier网络ID,在计算机上安装配置客户端
4.其他有需要的终端均安装配置ZeroTier、FTP客户端

只需4步,你就可以拥有自己的在线文件服务器,而且速度完全只受限于终端之间在公网中传输的速度

需要特别提醒的是,新加入终端需要登录管理页面审核同意,免费的ZeroTier最多支持100个终端接入,对个人用户来说,妥妥的够了

远程桌面访问

你是否遇到过:在家时突然接到加班任务,资料却都在单位的电脑里,想远程登录,突然发现teamvear被爆出安全隐患、向日葵免费用户限速300k

那么就借助ZeroTier自己搭建远程局域网吧:

1.申请ZeroTier网络ID,并在单位和家里电脑上均安装配置ZeroTier客户端
2.将单位电脑设置为可远程登录
3.回到家里使用Windows自带的远程桌面连接,访问办公室电脑

注:远程桌面设置可参加教程

除了上述应用外,安装了黑群辉的内网NAS,也可以借助ZeroTier实现免费的远程访问,甚至可以用自带的局域网模式联机打一把war3,只要是局域网内可以使用的应用,ZeroTier都不在话下

文章作者: 西门吹风
文章链接: http://blog.fight365.cn/2019/10/29/两个免费好用的内网穿透工具/
版权声明: 本博客所有文字除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的足迹 | 铁匠铺
本博客所有图片除特别声明外,均引用网络链接,如侵犯您的权益,请留言声明,我们将在第一时间删除

评论