外网访问内网(内网穿透)

x33g5p2x  于2022-05-20 转载在 其他  
字(2.1k)|赞(0)|评价(0)|浏览(476)

什么是内网穿透

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。

非学术的说法: 通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访问功能,全国都能访问

内网穿透有什么用?

通过内网穿透可以实现通过外网直接访问到你的电脑,那么具体可以做什么呢?

  1. 发布应用/网站,外网可以访问(这是主要用途);我们平时做的应用开发都只能在局域网本地访问,通过内网穿透,可以是全外网访问(只要有网就能访问到);在做微信/支付宝支付回调的时候就需要用到这个了
  2. 可以实现远程控制(在家访问公司电脑不是问题)
  3. 闲置电脑自建服务器
  4. 反正是好处多多

推荐内网穿透工具

natapp
frp
ngrok
蜻蜓映射
花生壳
nps

我下面就演示我自己使用的2款工具,软件版,和自建版

natapp教程

进入官网进行注册账户之后进入个人的控制台里,然后购买免费隧道

我自己创建了tcp协议和web(http|https)协议

可以看到我上面在线状态是离线的,那么怎么才能让他正常呢?

  1. 需要内网穿透的电脑启动客户端
  2. 内网端口号必须启动,比如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/

自己搭建内网穿透

准备阶段

需要准备的工具:

  1. nps 的客户端和服务端
  2. 服务1台centos x86
  3. 域名1个(可选)
  4. 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 就能进行访问了

点赞 -收藏-关注-便于以后复习和收到最新内容有其他问题在评论区讨论-或者私信我-收到会在第一时间回复如有侵权,请私信联系我感谢,配合,希望我的努力对你有帮助^_^

相关文章