本帖最后由 徐大大 于 2024-10-24 14:30 编辑
NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持X86、ARM、MIPS平台,并且自带WEB管理功能。
NPS(内网穿透代理服务器)支持多种功能,以下是对其功能的详细归纳: 基础功能高级功能端口映射:用户可以通过NPS将内网服务的端口映射到公网上,使得外网用户可以通过访问公网IP和端口来访问内网服务。 域名绑定:NPS支持将域名解析到公网服务器的IP上,用户可以通过域名和端口来访问内网服务,提高了访问的便捷性和安全性。 访问控制:NPS提供了访问控制功能,可以限制访问权限,增加系统的安全性。例如,可以设置白名单或黑名单,允许或禁止特定IP地址的访问。 数据加密:NPS支持SSL/TLS加**输,保障数据的安全性。用户可以在配置文件中开启SSL/TLS加密功能,确保数据传输过程中的安全性。
管理功能WEB管理端:NPS自带WEB管理端,用户可以通过浏览器访问管理界面,进行客户端管理、隧道管理、日志查看等操作。这使得管理变得更加直观和便捷。 多用户、多客户端管理:NPS支持多用户、多客户端的管理,可以满足不同场景下的需求。 日志记录:NPS会记录客户端和隧道的连接日志、访问日志等信息,方便用户进行故障排查和审计。
跨平台支持特别注意:好久没有维护了,其实不太建议使用,如果真的使用请勿使用SSH功能,可能会被扫! 本次教程内容
一、搭建前的准备二、下载配置文件配置文件下载地址 - https://github.com/ehang-io/nps/releases/tag/v0.26.10
复制代码
其中client代表客户端,server是服务端,提前下载后面有用。 三、服务端搭建我这里使用宝塔面板作为服务客户端搭建演示,宝塔面板怎么安装我就不叙述了。 1、下载镜像 进入宝塔终端连接SSH下载ffdfgdfg/nps服务端镜像 - docker pull dockerproxy.cn/ffdfgdfg/nps:latest
- //dockerproxy.cn是镜像加速域名,如果那一天不能用就换成别的
复制代码我的宝塔docker不知道咋回事直接拉取不了,就使用了镜像加速,你们如果也拉取不了就直接使用这个就行
2、解压配置文件 解压服务端server配置文件到你宝塔任意可访问目录就行,例如我这样
3、修改服务端端口 先介绍一下 - 80 和 443 端口,用于主机模式默认端口
- (你的服务器如果有其他项目占用了80和443端口,就需要修改)
- 8080 用于 Web 管理访问端口
- 8024 用于网桥端口,用于服务器和客户端之间的通信
复制代码打开conf文件找到nps.conf,我修改了两个地方如下 我把80改成808,443改成4433,web管理登录入口8080改成8081,web_username是登录账号,web_password登录密码
4、添加容器 进入终端连接SSH使用命令一键配置 - docker run -d --name=nps --restart=always --net=host -v /www/wwwroot/nps/conf:/conf ffdfgdfg/nps
复制代码其中/www/wwwroot/nps/conf是你的conf文件的详细地址,可以右键查看属性查看详细文件路径
5、登录web管理 我前面改了端口,8080改成8081
输入公网IP:8081,输入前面配置文件里面改的账号密码,注意配置文件改过了,容器一点要重新启动,不然不生效
6、创建客户端
这个唯一验证秘钥很重要,请勿泄漏
服务端搭建暂时到这里 四、客户端搭建1、下载镜像
在fnOS自带镜像仓库搜索:n-p-c(删除杠论坛会屏蔽关键词)第一个就是
2、解压配置文件
解压客户端client配置文件到你飞牛目录就行,例如我这样
3、修改客户端配置文件 n-p-c(都删除杠论坛会屏蔽关键词)
打开conf文件夹打开n-p-c.conf(删除杠论坛会屏蔽关键词)文件 只保留如下代码,其他全部删除,因为我只通过web客户端配置,为了安全删了,所以用不到代码 只修改两处,server_addr为你的服务器公网IP加8024端口,修改过就改成你改过之后的,vkey:你后端创建的客户端的唯一验证秘钥
- [common]
- server_addr=公网IP:8024
- conn_type=tcp
- vkey=唯一验证秘钥
- auto_reconnection=true
- max_conn=1000
- flow_limit=1000
- rate_limit=1000
- basic_username=11
- basic_password=3
- web_username=user
- web_password=1234
- crypt=true
- compress=true
- #pprof_addr=0.0.0.0:9999
- disconnect_timeout=60
复制代码
2、部署容器 - docker run -d --name n-p-c(删除杠论坛会屏蔽关键词) --net=host -v /vol1/1000/docker/n-p-c/conf:/conf ffdfgdfg/n-p-c -config=/conf/n-p-c.conf
复制代码其中/vol1/1000/docker/**/conf是你创建自己的详细路径,右键详情信息可以查看 容器搭建好之后,你去web管理的客户端就能看到连接状态是在线
这样客户端就部署完成了,后面就没客户端的事情了 五、泛域名配置 你肯定不想通过公网IP加端口访问吧,所以就需要域名来操作,具体域名是什么自己百度,我的服务器是腾讯云国内的,所以域名进行了备案。不想备案的就使用国外服务器
1、解析 首先先去域名商那边解析一个泛域名,我的阿里云如下,解析一个*的泛域名
2、创建站点(*.ceshi.com) 在宝塔面板php项目这一栏,例如创建一个站点域名先随便输一个,直接这样填*.ceshi.com会提示报错,随便填域名创建成功后再去修改域名就行
然后再把随便填的删掉就好了
创建后点击设置进行返代理
添加返代理,安装我图片里面的添加就行了,端口就是你前面修改的服务端http的端口,使用https就换成https的端口
然后怎么使用呢?青龙面板为例
先去web客户端,查看你创建的客户端ID,我的ID是9
然后点击域名解析,点击新增
按图添加后保存 这样访问域名就可以直接访问你的项目了,域名后面不需要加端口,访问速度跟你的服务器宽带有关系
好了,教程就到这里,其他玩法自己研究一下,SSH功能不建议使用,会被扫
|