内网穿透(NAT穿透),简单来说就是将内网外网通过隧道打通,让内网的数据让外网可以获取。大家一定听说过外网链接,实际上,这种内网技术技术就是外网链接技术的反义词。外网链接是指计算机与外部网络服务器链接的技术;内网穿透技术就是建立在局域网内部的网络技术。这种技术可以很好的解决许多局域网内设备的资源共享。这种技术还有一个专业的名称,叫NAT穿透。Nat穿透的原理就是通过对地址进行转换,将公共的网络地址转变为一种私有网络地址。再采用路由的连接方式将一台计算机变成一个“路由器”。这样再由其他的计算机与其进行连接,这也就实现了资源共享的目的。
内网穿透的主要用途
这种技术的主要用途就是如上文所述,在局域网之内实现资源共享。当然除此之外还有其他的用途。比如采用这种技术可以极大的缓解udp中的数据传输不稳定的问题;可以在内网中效率更高的做一些外网的事。可以在自己计算机上没有所需文件时,快速将其他有该文件的设备上的文件进行调用。
以上就是向大家简单介绍的有关内网穿透的基本原理及其重要作用。总之,这项技术的运用使得内网工作成为可能,大幅度的提高了内网的工作效率。
如上图,假设我们想要通过主机A访问主机C,但是主机A和主机C绑定的都是私有ip地址,所以它们之间是无法直接进行通信的。要想使得A和C能够进行通信,就需要用到内网穿透的技术。 我们可以借助frps(服务端)和frpc(客户端)来实现主机A对主机C的访问。主机B和主机C的C_NUMBER端口和S_NUMBER端口在公网和私网中都要允许通过防火墙。 需要做的是: 1.在绑定了公网ip的主机B中配置frps(服务端) 2.在主机C中配置frpc(客户端) 3.有一个公网ip,这里用x.x.x.x代替
frps/frpc的工具包的github地址是:Releases · fatedier/frp · GitHub 下载适合自己机器的版本即可。
第4步配置【服务器端】 S_NUMBER是一个端口号 #服务端口 bind_port = S_NUMBER #监听地址 bind_addr = 0.0.0.0 #认证token token = xxxx
配置【客户端】(也就是需要被内网穿透的服务器主机C端) C_NUMBER是一个端口号 [common] #自己的公网地址 server_addr = x.x.x.x #用于服务器和客户端之间通信的端口 server_port = S_NUMBER #认证令牌,需要和服务器端保持一致 token = xxxx [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 #意味着将服务器上的C_NUMBER端口映射到私人电脑上的22端口 #访问的时候在外部电脑上:ssh username@x.x.x.x -p 6000 #username是私人服务器上的用户名 #x.x.x.x是公网ip remote_port = C_NUMBER ———————————————— 第5步启动 先在公网服务器上启动frps 再在私网服务器上启动frpc 之后就可以在其他电脑上按照ssh username@x.x.x.x -p 6000访问私人服务器。 |