什么是内网穿透
内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。
非学术的说法: 通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访问功能,全国都能访问
内网穿透有什么用?
通过内网穿透可以实现通过外网直接访问到你的电脑,那么具体可以做什么呢?
- 发布应用/网站,外网可以访问(这是主要用途);我们平时做的应用开发都只能在局域网本地访问,通过内网穿透,可以是全外网访问(只要有网就能访问到);在做微信/支付宝支付回调的时候就需要用到这个了
- 可以实现远程控制(在家访问公司电脑不是问题)
- 闲置电脑自建服务器
- 反正是好处多多
推荐内网穿透工具
我下面就演示我自己使用的2款工具,软件版
,和自建版
natapp教程
进入官网进行注册账户之后进入个人的控制台里,然后购买免费隧道
我自己创建了tcp协议和web(http|https)协议
可以看到我上面在线状态是离线的,那么怎么才能让他正常呢?
- 需要内网穿透的电脑启动客户端
- 内网端口号必须启动,比如nginx:80端口
拿到authtoken
然后下载natapp的客户端
解压后
然后以管理员方式打开cmd命令并且进入到解压目录下
启动natapp 客户端添加authtoken参数
natapp -authtoken=9ab6b9040a624f40
运行成功,都可以得到如下界面:
Tunnel Status Online 代表链接成功
Version 当前客户端版本,如果有新版本,会有提示
Forwarding 当前穿透 网址 或者端口
Web Interface 是本地Web管理界面,可在隧道配置打开或关闭,仅用于web开发测试
Total Connections 总连接数
Avg Conn Time 0.00ms 这里不代表,不代表,不代表 延时,需要注意!
因为我们在上面映射的是本地80端口而我自己电脑80端口是Nginx
然后我去访问http://88wgwm.natappfree.cc/
自己搭建内网穿透
准备阶段
需要准备的工具:
- nps 的客户端和服务端
- 服务1台centos x86
- 域名1个(可选)
- windwos x86 电脑一个
nps 的客户端和服务端安装包: windows_amd64_client.tar.gz 和 linux_amd64_server.tar.gz
服务可以购买百度云或者阿里云华为云都行
然后在购买一个域名(需要备案),你域名在哪里备案只能在哪里解析用,也就是说在哪里买服务器,不然到时候检测出来你网站就访问不了,当然域名是可以转入到其他厂商的(挺麻烦的)
有了服务器之后我们使用ssh工具连接上服务器然后就可以开始操作了
安装nps服务端
cd /usr/local/src/
mkdir nps
然后将压缩包上传到/usr/local/src/nps这个目录下,然后解压
tar zxfv linux_amd64_server.tar.gz
conf-> nps.conf就是配置文件
默认会占用服务的 80,443 , 8080 ,和 8024 这四个端口,所以我们需要检查当前服务这几个端口是否被占用
netstat -tln |grep 端口号
如果被占用那么就修改配置文件就行了
注意: 8080这个端口是web管理页面改完之后访问的时候需要使用最新的端口号
安装
./nps install
启动
./nps start
关闭
./nps stop
然后访问服务ip:8080
账户和密码默认是admin/123
配置客户端
一个客户端就相当一个项目, 一个客户端可以有一个隧道和一个主机
隧道: 就是需要内网电脑的端口和协议
主机: 内网电脑可以通过域名进行访问
添加客户端的隧道
在内网电脑安装nps客户端
将客户端安装包解压
以管理方式进入cmd然后进入到解压后的nps目录下
安装
npc install
在cmd中运行复制的命令npc -server=106.12.144.221:8024 -vkey=vsv31rxsb5yfa3s7 -type=tcp
回到我们的控制台中就可以看到我们的连接状态是在线的了
然后你使用服务器的ip:10101
就可以访问你内网电脑的80端口了 ,而注意你内网80端口需要绑定一个应用并且启动才行,不然访问了也没效果,我自己拿Nginx:80启动作为演示
配置主机(非必选)
如果我们嫌ip不好记或者怕ip暴露导致服务器危险,那么我们可以使用域名进行代理,这时候就需要绑定主机了
注意: 域名必须是公网的域名而且必须备案后的,不然绑定了也访问不了
我们需要先将域名解析到我们的代理服务器上才行
然后我们去nps管理页面配置主机
然后我们通过 你的域名:10101
就能进行访问了