前言:
为什么我弄这个内网穿透,2个目的,在说目的前说一下我的软路由的配置:主板:dq77kb cpu: i5-3570s 内存16G 硬盘500g+32g固态 这配置就弄一个openwrt太浪费了。所以,我主系统Windows10,在Hyper-V虚拟机下开了一个openwrt(路由作用),开了一个ubuntu18系统(搭建一个ip目录程序,利用lnmp+Zdri),一个ubuntun14系统(用来偶尔编译openwrt),也可以搭建其它系统。
利用远程vps,域名,nps,一个目的就是可以远程操控openwrt的设置,一个目的就是本地存储目的设置成带域名,到哪都可以看的目的。研究了一天终于弄成了
nps介绍:
一款轻量级、功能强大的内网穿透代理服务器。支持tcp、udp流量转发,支持内网http代理、内网socks5代理,同时支持snappy压缩、站点保护、加密传输、多路复用、header修改等。支持web图形化管理,集成多用户模式。
相比于已经较为成熟的FRP、Ngrok等,这个内网穿透工具的功能更加强大,以及可以更方便地进行配置(因为有Web面板)
开始准备工作
关于内网穿透的原理、原因我就不多说了,要实现内网穿透我们至少需要以下两个主机:
- 一个域名(www.vjsun.com)
- 一个有公网IP的服务器,无论国内国外都行 (10.10.10.10), 运行服务端(nps)
- 一个你要远程访问的机器 (路由器本地ip:192.168.10.1),运行客户端(npc)
一、NPS的GitHub页面地址
GitHub:https://github.com/cnlh/nps
二、进入releases安装页面
releases github: https://github.com/ehang-io/nps/releases
服务端搭建
找到你需要的版本,我这里用的服务器是ubuntu16.04,那么也就是Linux的64位版本,所以我需要下载对应的客户端和服务端。
#记得复制前先将下面链接替换成当前最新版地址
cd ~
#下载并解压服务端
wget https://github.com/cnlh/nps/releases/download/v0.26.3/linux\_amd64\_server.tar.gz
tar xzvf linux\_amd64\_server.tar.gz
cd ~/nps
- sudo ./nps install
- sudo ./nps start
在上边3和4之间,也可以加一个3.5的步骤:#编辑配置文件
cd nps
vi conf/nps.conf
也可以使用winscp这个工具去修改conf/nps.conf这个文件
#web管理端口 httpport
#web界面管理密码 password
#服务端客户端通信端口 bridePort
#ssl certFile绝对路径 pemPath
#ssl keyFile绝对路径 keyPath
#域名代理https代理监听端口 httpsProxyPort
#域名代理http代理监听端口 httpProxyPort
#web api免验证IP地址 authip #客户端与服务端连接方式kcp或tcp bridgeType
继续执行第4步与第5步。
然后打开地址http://ip:8080
访问管理界面,具体端口以自己修改的为准,再使用密码登录进去,
默认用户名:admin 用户密码:123
。
#如果打不开Web界面,就需要开启防火墙,
之后我们点开左边的“客户端”,再点击“新增”,备注就是给客户端起个名字,比如vjsun
,主要是添加密钥,其他均可以默认(之所以不开压缩和加密是因为我觉得这两个事情不应该交给中间服务器解决,而应该在相应的服务上开启,比如NGINX)。
新建之后就可以看到列表里面多了一个客户端,不过是offline状态(当然,我们还没开始配置呢),点一下左边那个+
号,你会看到一些信息,比如当前连接数等等,不过最重要的是命令一行,后面的一串命令记下来,还有客户端的id,待会儿要用。
客户端
releases github: https://github.com/ehang-io/nps/releases
将linux_amd64_client.tar.gz 上传至客户端的 root目录里面,
cd ~
wget https://github.com/cnlh/nps/releases/download/v0.26.3/linux\_amd64\_client.tar.gz
tar xzvf linux\_amd64\_client.tar.gz
- nohup ./npc -server=(ip:port) -vkey=(web界面中显示的密钥)
- #比如我自己设置的:nohup ./npc -server=149.129.115.17:8024 -vkey=vrsay.org
上边这个代码是给我软路由中win10开的虚拟机中ub18系统做了一个ip目录网站需要用到的。
软路由中的openwrt有nps内网穿透,可以直接配置客户端:设置服务端的ip:端口 密钥
解析域名并绑定
客户端id:“5”这个5就是上边服务端中的添加客户端那个id:5
192.168.50.171:80是我的ubuntu18的ip, 192.168.50.2:80是我的openwrt的ip
域名这里显示online,就说明绑定成功,已经可以穿透访问了
弄好以后的成果
这个目录里可以放视频,图片任何东西,也可以设置密码,很是方便
在任何可以上网的地方输入域名就可以穿透管理到家里的机器上的网站
1