1
回帖奖励 8 飞牛币      回复本帖可获得 1 飞牛币奖励! 每人限 1 次

fnOS NAS通用内网穿透NPS服务端、客户端、泛域名保姆级搭建教程

发表于:2024-10-14 12:13:55 Docker 2939
本帖最后由 徐大大 于 2024-10-24 14:30 编辑

NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持X86、ARM、MIPS平台,并且自带WEB管理功能。

NPS(内网穿透代理服务器)支持多种功能,以下是对其功能的详细归纳:
基础功能
  • 内网穿透:NPS的核心功能,它可以帮助用户在公网访问内网服务,实现内外网的互联互通。
  • 多协议支持:NPS支持TCP、UDP、HTTP、SOCKS5等多种协议,满足不同场景下的需求。

高级功能
  • 端口映射:用户可以通过NPS将内网服务的端口映射到公网上,使得外网用户可以通过访问公网IP和端口来访问内网服务。
  • 域名绑定:NPS支持将域名解析到公网服务器的IP上,用户可以通过域名和端口来访问内网服务,提高了访问的便捷性和安全性。
  • 访问控制:NPS提供了访问控制功能,可以限制访问权限,增加系统的安全性。例如,可以设置白名单或黑名单,允许或禁止特定IP地址的访问。
  • 数据加密:NPS支持SSL/TLS加**输,保障数据的安全性。用户可以在配置文件中开启SSL/TLS加密功能,确保数据传输过程中的安全性。

管理功能
  • WEB管理端:NPS自带WEB管理端,用户可以通过浏览器访问管理界面,进行客户端管理、隧道管理、日志查看等操作。这使得管理变得更加直观和便捷。
  • 多用户、多客户端管理:NPS支持多用户、多客户端的管理,可以满足不同场景下的需求。
  • 日志记录:NPS会记录客户端和隧道的连接日志、访问日志等信息,方便用户进行故障排查和审计。

跨平台支持
  • 多平台支持:NPS支持Windows、Linux、MacOS、Android等平台,可以跨平台使用。这使得NPS可以应用于不同的操作系统和设备上,提高了其灵活性和适用性。

特别注意:好久没有维护了,其实不太建议使用,如果真的使用请勿使用SSH功能,可能会被扫!
本次教程内容
  • 服务端搭建
  • 客户端搭建
  • 泛域名使用

一、搭建前的准备
  • 服务器:需要一台有公网IP的服务器来运行NPS服务端。
    客户端设备:一个或多个运行在内网的NAS或PC将运行NPS客户端。

二、下载配置文件
配置文件下载地址
  1. https://github.com/ehang-io/nps/releases/tag/v0.26.10
复制代码

其中client代表客户端,server是服务端,提前下载后面有用。
三、服务端搭建
我这里使用宝塔面板作为服务客户端搭建演示,宝塔面板怎么安装我就不叙述了。
1、下载镜像
进入宝塔终端连接SSH下载ffdfgdfg/nps服务端镜像
  1. docker pull dockerproxy.cn/ffdfgdfg/nps:latest
  2. //dockerproxy.cn是镜像加速域名,如果那一天不能用就换成别的
复制代码
我的宝塔docker不知道咋回事直接拉取不了,就使用了镜像加速,你们如果也拉取不了就直接使用这个就行


2、解压配置文件
解压服务端server配置文件到你宝塔任意可访问目录就行,例如我这样

3、修改服务端端口
先介绍一下
  1. 80 和 443 端口,用于主机模式默认端口
  2. (你的服务器如果有其他项目占用了80和443端口,就需要修改)
  3. 8080 用于 Web 管理访问端口
  4. 8024 用于网桥端口,用于服务器和客户端之间的通信
复制代码
打开conf文件找到nps.conf,我修改了两个地方如下
我把80改成808,443改成4433,web管理登录入口8080改成8081,web_username是登录账号,web_password登录密码

4、添加容器
进入终端连接SSH使用命令一键配置
  1. 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:你后端创建的客户端的唯一验证秘钥

  1. [common]
  2. server_addr=公网IP:8024
  3. conn_type=tcp
  4. vkey=唯一验证秘钥
  5. auto_reconnection=true
  6. max_conn=1000
  7. flow_limit=1000
  8. rate_limit=1000
  9. basic_username=11
  10. basic_password=3
  11. web_username=user
  12. web_password=1234
  13. crypt=true
  14. compress=true
  15. #pprof_addr=0.0.0.0:9999
  16. disconnect_timeout=60
复制代码

2、部署容器
  1. 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功能不建议使用,会被扫

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

发表回复

评论列表(15)

我现在就不想搞这个了,费用高,服务器带宽小
2024-10-16 14:25:21 回复
现在都有公网了,确实不太重要了  详情 回复
2024-10-24 16:30
现在都有公网了,确实不太重要了
2024-10-24 16:30:08 回复

回帖奖励 +1 飞牛币

用在软路由上了,直接全通,唯一缺点ipv6才能访问
2024-10-25 17:22:30 回复

回帖奖励 +1 飞牛币

学习了。。感谢大佬
2024-10-28 12:35:26 回复

回帖奖励 +1 飞牛币

学习。感谢!!
2024-10-28 17:53:19 回复

回帖奖励 +1 飞牛币

大哥 我用你这种方式 已经配置好了。nps 也显示在线,但是我无法通过我的域名来访问 飞牛 是为啥。
2024-10-29 19:28:40 回复

回帖奖励 +1 飞牛币

用ipv6 随机 保密性好
2024-10-29 19:42:05 回复

回帖奖励 +1 飞牛币

这个都要安客户端嘛
2024-11-1 09:48:51 回复

回帖奖励 +1 飞牛币

学习学习
2024-11-1 13:58:40 回复
12下一页