当前位置: 首页> 科技> 数码 > 手动部署内网穿透

手动部署内网穿透

时间:2025/9/14 9:37:34来源:https://blog.csdn.net/m0_73299809/article/details/140937663 浏览次数:4次

关于内网穿透,主要针对什么是公网和内网?NAT转化技术等引出内网穿透方法。

本文主要技术是利用frp部署内网穿透、以及nagix部署web服务。

测试环境:

  • 服务器:Linux云服务
  • 内网:用本地WM充当内网
  • 云服务器Linux:验证内网穿透

什么是公网和内网?

为了搞清楚什么是公网和内网,就要从IP地址谈起。我们现在用的网络层协议大部分是IPV4,当然也存在IPV6(IPv6不存在内容穿透,这里不做讨论)。

IPv4的地址是以32位bit,在当今的发展下,如果为每一台主机都偶配一个独一无二的ip地址,是不可能的。更别说IP地址会被划分成好几类,能够真正被我们使用的地址少之又少。

因此一种技术将IP地址分成全局和局部的地址被人们认可。

规定在全局的网络地址是不可重复的,而处于局部的地址是相较于全局的地址是可以重复的?

什么意思呢?假如说有俩个局域网,俩个局域网同时存在192.168.1.1这台主机地址,是被允许的。因为它们在全局上不会以192.168.1.1来展示自己,这里涉及到NAT转化,后续介绍。

所以再来重新理解一下公网和内网。

  • 内网IP:用户在使用局域网时候,由局域网网关分配的 IP地址,每一个内网IP可以映射到当前局域网网关的对应接口(IP+端口号共同组成),处于同一局域网下的设备是可以被互相访问到的。
  • 公网IP :用户向访问非局域网上的资源必须经过公网,自己也会存在公网IP,这是由NAT转换技术提供的,每一个公网IP都可以在全局中被定位到。

举例:

在学校中,校园网通常就是一个局域网。每一个连接校园网的设备在内都有ip地址,但是访问外界资源时,又会存在全局的ip地址。这个ip地址是单向的,只能由内到外。所以不在校园网的设备想要直接访问校园网是不可能,因为局域网下的Ip是不可被直接知道的。


NAT转化技术

NAT技术就是全局地址的复用,即在局域网的设备公用一个地址。

常见的NAT转化技术有三种:静态、动态、端口多用等。

  • 静态转化:内网IP直接转化为公网IP,形成一一对应

  • 动态转化:从ip池中选择一个空闲的ip作为公网的IP。即每次重新经过转化的公网IP是不相同的 。

 

  •  端口复用:对外表现为ip相同,不同的是端口号


内网穿透的原理 

内网向公网建立连接时,就会进行NAT转化,把转化的结果保存在NAT转化表中,就打通了内网到服务器这一端。同时服务器到内网的请求,都会在NAT转化表从公网IP转化为内网IP。所以这是互相打通的。

这时候服务器和公网是建立连接的,如果另一个局域网的机器B想给内网机器A发消息。

可以先和服务器建立连接,然后通过服务器,将主机B发送的转发到内网主机B上,这样就实现了内网穿透。

 


手工部署内网穿透

用来测试的机器WM,模拟在校园网内的机器。

服务器+FRP负责消息转发的技术。

CLient:利用Linux作为访问内网的机器。

1.将frp文件上传到Linux服务端

2.在需要被穿透的机器上传frp文件

 3.配置服务器端frp文件

vim 打开服务器配置文件

vim frps.toml 

在配置文件中,会看到绑定端口 ,这个端口号是给待穿透的客户端看的。

用于建立服务器到客户端的连接。

4.配置待穿透机器的配置文件

vim frpc.toml 

  • 第一行server需要被设置为服务器的地址:我的云服务器地址是"118.126.95.41"
  • 第二行为服务器配置文件中设置的端口号 

proxies:

由于我要验证的是ssh登录,所以localport选择22

远程登录端口:这个端口是给另一个客户端看的,告诉服务器,如果我往8089发的消息,需要被转发到内网中的主机A。

5.启动服务端并且加载配置文件

./frps -c frps.toml

6.启动客户端并且加载配置文件

./frpc -c frpc.toml


验证SSH

新建一个linux用户,主机IP为云服务器的ip,端口为客户端配置过的端口8089

内网穿透就完成,通过内网主机A的账号+密码,就能访问其内部的资源。

创建的test文件就能在虚拟机中看到,做到了访问局域网。 


连接nagix

如果你的机器没有安装nagix

 sudo sudo apt-get install nginx

修改客户端配置文件

frp支持转发多个端口

部署nagix转发,将8087转发为nagix

将本地localport改为80,因为nagix的默认服务端口就是80


启动服务器,启动客户端

在浏览器中访问118.126.95.41这个服务就会被服务器转发给内网的主机A并且转发到80号端口的服务上。就完成了Web服务的部署。

关键字:手动部署内网穿透

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: