内网穿透教程

Posted _WILLPOWER_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网穿透教程相关的知识,希望对你有一定的参考价值。

目录

内网穿透教程

前言

  • 所谓内网穿透,也即是局域网能够直接通过公网的ip去访问,极大的方便用户的日常远程的一些操作的使用。比如nas的远程访问,个人博客的搭建等等。
  • 端口映射概念:见名知意,就是将端口做映射,而这个映射是在不同的IP的端口进行映射,比如下图


这个部分有三个需要注意的,第一是外部端口,第二是内部端口,第三是ip地址。或许就有人要问了,不是不同ip下的端口进行映射吗?怎么还少了外部的ip。上图其实是路由器的端口映射设置,路由器的wan口获取到的ip其实就是外部的ip,因为一个路由器一般来说只有一个wan口,因此大多数路由器就省略了外部ip的输入,因为对这种路由器来说外部ip只有一个,没有必要让用户输入。

比如现在我输入

现在wan口获取到的ip为192.168.0.109

那么我在192.168.0.109这个网络下,只用访问192.168.0.109:1000,就相当于访问了它下面网络为192.168.1.2:2000的应用,这样就实现了一个端口映射

内网穿透的方式

就我目前接触的内网穿透的方式,有两种.

  • 第一种是直接拥有公网的ip而直接进行一些映射;
  • 第二种是有公网服务器的,采用frp等方式来进行穿透(这种方式不需要有公网的ip,但是需要一个服务器);

第一种方式,拥有公网ip

这种方式是目前我使用的方式,好处是不需要额外买服务器,并且网络的速度能够得到保证。

方法

  • 首先需要确定家里面的网是有公网ip的,一般来说家里面的网络都是经过运营商NAT转发的,都不是公网的ip,这个时候需要你自己去给运营商打电话,让客服将家里面的网络改为公网的IP(家里面使用的是电信的网络,没有加钱啥的,直接很快就改好了,不要看网络上说好多要加钱,自己试一试就知道了,记得要询问自己家里面拨号的用户名和密码,后面自己设置的时候要用)

  • 然后是需要确定家里面光猫是否有端口映射的功能。如果没有最好就要修改家里面光猫的一个运行模式(光猫有两种工作模式,第一:路由模式,第二:桥接模式

      - 路由模式,也就是光猫工作在路由模式下面,它会负责两个功能:第一:将光信号转化为电信号;
      第二:负责路由器的功能,为下级设备上网也进行工作。
      - 桥接模式,光猫工作在桥接模式后,只将光信号转为电信号,而不负责路由器的相关工作,这样
      如果光猫没有端口映射功能的话,就能够通过带有端口映射功能的路由器来进行后续的映射了。
    

下面以我家里面的光猫为例:
我家里面的光猫是没有端口映射功能的,因此要想后续的一些映射功能,光猫是需要在桥接模式,并且必须要用带有端口映射的路由器的。因为如果光猫使用路由模式,这个时候,光猫会进行拨号上网,它在获取到公网的ip后,对后续插上去的设备,它都会使用NAT转发,这个时候要想内网的设备能够得到访问,没有端口映射是做不到的。
如下图:

这里选择的就是桥接模式,选择这个之后后面路由器连上光猫的lan口后不能选择静态或者动态获取ip,而要选择pppoe拨号.

这个时候如果拨号获得了ip,那么这个ip就是公网的ip了。
那么借助端口映射,就能够将内网的服务和外网的ip对应起来了
例如:你现在内网的应用要使用80端口,而他的ip是192.168.1.2,外网获取的ip为125.66.23.44
比如现在映射设置外网的888端口映射这个内网,则访问125.66.23.44:888就相当于访问了内网192.168.1.2:80了,借助端口映射就可以非常方便的对内网的应用做出自己想要的控制等。

第二种方式,使用frp

方法

下载frp工具

点击下载

有windows以及linux的,看情况下载
需要注意的是,要分清这种方法是如何运作的,frp分为服务器端,以及客户端

服务器端是云服务器上运行的程序,它在运行后,会让frpc客服端去连接,这样它们两个则形成一个整体。在需要访问frpc客户端所在网络的时候,就需要先访问frps服务器,然后由frps服务器帮你转到frpc客户端,形成一个frpc客户端所在内网的一个映射!
下面看具体的使用方法

其中叫frpc的就是client客户端,叫frps的就是server服务器端。
这里服务器端,我用linux版本演示,而客户端用windows版本演示
首先登录服务器,然后进入shell

可以看到有frpc以及frps的可执行程序,并且还有frps.ini还有frpc.ini为配置文件,既然是服务器端,那么需要用到的就是frps以及frps.ini了,首先需要查看的frps.ini配置文件(指定-c一定要写)

这里可以看见绑定的端口为7000,并且token也即是密钥为111111,因此在开放这个服务后,客户端就需要使用此端口和密钥以及公网的ip来进行登录了。

使用命令开启服务器命令监听即可


下面说一下客户端

客户端就需要使用的东西就是frpc以及frpc.ini了,首先修改frpc.ini
token是可以有小数点得

这里需要将token,端口,以及公网的ip填上,然后在下面写上你需要映射的内容,其中type是连接的类型,local_ip是内网需要映射的ip,local_port是其应用端口,而remote_port就是外网也即你访问公网ip的时候需要映射的公网上的端口.
如果是以上的设置,那么你访问"你的公网ip":6000,相当于访问了你内网主机的22端口。这样就完成了整个映射关系。一定需要理清的就是当你frpc连接frps服务器后,你要访问frpc客户端所在网络,就直接根据你设置的映射关系,访问公网的ip+映射端口就是了。


frpc特别适用于校园网以及多级nat后的网络的内网穿透。如果家里面的网络可以成为公网的话,完全可以借助家里面的网络建立一个服务器然后使用frp来穿透校园网以及多级nat后的网络。


结束

关于内网穿透的相关内容,我会根据自己所学,后面慢慢更新的。喜欢的朋友可以关注。

关于网络的内容其他文章

关于路由器的一些认识
关于笔记本WLAN(无线)口共享给以太网口

以上是关于内网穿透教程的主要内容,如果未能解决你的问题,请参考以下文章

内网穿透教程

FRP 内网穿透服务免费使用的详细教程

黑群晖+花生壳内网穿透

树莓派使用FRP实现内网穿透教程

群晖内网穿透设置

使用frp配置内网(穿透[保姆级教程])