网络与信息安全程序员

内网穿透原理总结与工具推荐

2019-03-19  本文已影响147人  海涛王

本文主要总结个人进行内网穿透的知识,主要包括以下内容:

内网穿透,即NAT(Network Address Translator)穿透,是指计算机在内网(局域网)内使用私有IP地址,在连接外网(互联网)时使用全局IP地址的技术。该技术被普遍使用在有多台主机但只通过一个公有IP地址访问的私有网络中。

举个例子:比如我在实验室配置了一个服务器 Server A,当我在实验室的时候,就可以通过自己的笔记本使用SSH连接【因为我和服务器处于一个局域网】,当我回宿舍以后,就没有办法直接使用SSH连接了【因为我和服务器不在一个局域网】,这个时候就需要进行NAT穿透,让我在宿舍也可以使用SSH连接Server A。

1. NAT原理解析

图例:

下图以10.0.0.10的主机与163.221.120.9的主机进行通信为例进行讲解。


NAT原理.jpg

2.内网穿透工具推荐

目前市面上有很多传统工具,较为知名的开源工具有NgrokFRPfcngoProxy,其他还有一些商用的工具比如花生壳和基于等Ngrok和FRP二次开发的商用软件,接下来进行分类归类和整理。

ngrok系列:
SSH

配合autossh工具使用,因为autossh会容错

参考教程:SSH内网穿透

Lanproxy

项目主页:https://lanproxy.io2c.com/
lanproxy 是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

参考教程:lanproxy文档

frp

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

参考教程:十分钟教你配置frp实现内网穿透

fcn

fcn(free connect)是一款傻瓜式的一键接入私有网络的工具, fcn利用公共服务器以及数据加密技术实现:在免公网IP环境下,在任意联网机器上透明接入服务端所在局域网网段。支持多种系统.

参考教程:内网穿透工具FCN介绍

花生壳

花生壳是一个动态域名解析软件。当您安装并注册花生壳动态域名解析软件,无论您在任何地点、任何时间、使用任何线路,均可利用这一服务建立拥有固定域名和最大自主权的互联网主机。“花生壳动态域名解析软件”支持的线路包括普通电话线、ISDNADSL、有线电视网络、双绞线到户的宽带网和其它任何能够提供互联网真实IP的接入服务线路,而无论连接获得的IP属于动态还是静态。

参考教程:端口映射方法:花生壳内网穿透

参考链接

  1. 一分钟实现内网穿透(ngrok服务器搭建)
  2. 维基百科:网络地址转换
  3. 【技巧】内网穿透工具的原理与开发实战
  4. 图解TCP/IP
  5. 可以实现内网穿透的几款工具
  6. 内网穿透工具的原理与开发实战
  7. NAT 穿透原理浅浅说(一)

版权声明:原创作品,欢迎转载:https://www.jianshu.com/p/f4f9abc942a7

上一篇下一篇

猜你喜欢

热点阅读