由于之后工作的需要,可能会两地办公,所以大概率会需要用到家里OpenWRT上挂载的硬盘里的内容,那么就要涉及到使用内网穿透来实现功能。
其实内网穿透的方法有很多,比如花生壳、收费的易有云DDNSTO,对于有在租用VPS和有域名的情况下,利用免费开源的frps或者NPS一定是更经济的首选了。
事实上NPS最后一次更新是2021年8月,我原本想要使用还在更新的frps,但是鉴于前者控制面板更加图像化好操作,所以最后还是选择了NPS。
我的服务器目前是用宝塔面板管理的,那这里就会有ngnix占用了80、443端口的问题,解决方法也是比较简单。
宝塔安装NPS
使用宝塔自带的终端,或者电脑上自带的SSH工具登录服务器,使用wget命令安装NPS,如果和我一样是CentOS的服务器需要先安装依赖
yum -y install wget
yum -y install setup
yum -y install perl
进入NPS Github Release页面查找相应固件的下载链接,比如我的服务器就下载linux_amd64_server.tar.gz
https://github.com/ehang-io/nps/releases
在终端或SSH工具中键入:
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
解压缩
tar -zxvf linux_amd64_server.tar.gz
安装NPS程序
sudo ./nps install
直接服务器SSH安装的朋友可以跳过一下步骤了
解决80 443端口被占用
修改nps.conf文件的端口设置
方法一
终端或SSH工具键入
vi /etc/nps/conf/nps.conf
键盘Insert键进入编辑模式
http_proxy_port=80 //第7行,被占用,修改为未占用的端口,比如808
https_proxy_port=443 //第8行,被占用,修改为未占用的端口,比如4433
bridge_port=8024 //第16行,可以不修改,但记住端口
web_host=a.o.com //第39行,修改为你服务器的IP
web_port = 8080 //第42行,被占用,修改为未占用的端口,比如8090
ESC退出编辑
:wq
保存退出
方法二
直接在宝塔文件管理页面打开nps.conf进行修改
路径:/etc/nps/conf/
在宝塔 安全 页面,添加以上4个端口并允许,如果是腾讯云、阿里云的服务器,登录后服务器管理页面防火墙允许相应端口。
继续在终端或SSH工具中启动NPS
nps start
配置NPS客户端
浏览器输入
http://你的服务器ip:设置的web_port端口,
初始用户名admin 密码123
进入NPS控制面板
点击左侧客户端,添加一个客户端,只需要填写备注,唯一验证秘钥(Token)会自动生成
配置OpenWRT端
打开OpenWRT软路由,进入Software进行NPS客户端安装
Update lists刷新软件源后,搜索luci-app-npc安装
刷新页面后打开NPS Client
服务器地址:输入服务器的IP
端口:输入bridge_port端口
唯一验证密钥(vkey):输入NPS控制面板创建的Token
勾选启动,保存并应用 OpenWRT这边就完成了。
回到NPS控制面板,刷新客户端页面,客户端地址有IP,连接显示在线,就说明成功了。
如果这步总是不成功的话,先关闭OpenClash服务。
域名解析
打开域名服务商或DNS管理商
添加二级域名,如果有使用域名浏览OpenWRT的Alist、FileBrowser等,可以多添加几个,全部指向服务器的IP地址
打开宝塔 网站 创建一个静态网页,加入所有刚创建的二级域名,强烈建议此时添加SSL证书
添加反向代理
代理名称:随便写一个
目标URL:http://127.0.0.1:80 //之前设置的http_proxy_port端口
回到NPS控制面板,点击左侧域名解析,一一添加
客户端ID:建立的客户端ID号
备注:随便写
主机:创建的二级域名
目标(IP:端口):内网IP:端口 //比如内网IP是192.168.123.1 filebrowser默认端口是8088 就填 192.168.123.1:8088
基本上就完成了。
如果之前已经添加了SSL证书,那就可以通过https://二级域名访问 了。
更改NPS控制面板密码
强烈建议将NPS的简单密码做更改,可以进入宝塔 文件管理 页面
路径:/etc/nps/conf/nps.conf
修改:
web_username=admin //用户名
web_password=123 //密码
修改保存完成后,终端或SSH工具重启NPS生效
nps restart
赞赏微信赞赏支付宝赞赏