18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 建站知识 > 使用nps搭建内网穿透并配置泛域名解析

使用nps搭建内网穿透并配置泛域名解析

时间:2023-02-25 03:15:01 | 来源:建站知识

时间:2023-02-25 03:15:01 来源:建站知识

使用nps搭建内网穿透并配置泛域名解析:

前言

nps 是什么?

nps 是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持 tcp、udp 流量转发,可支持任何 tcp、udp 上层协议,此外还支持内网 http 代理、内网 socks5 代理、p2p 等,并带有功能强大的 web 管理端。

1. 准备工作

1.一台拥有公网 IP 的云服务器,我这里使用的是腾讯云轻量应用服务器,系统为 CentOS。
2.云服务器中需要安装配置好 Docker。参考地址:菜鸟教程-docker 的安装[1]
3.云服务器中安装好宝塔面板,如不需要域名访问,可以跳过此步骤。参考地址:宝塔面板安装教程[2]
4.nps 服务器端和客户端的程序。下载地址:https://github.com/ehang-io/nps
5.一个已完成备案的域名,用来配置内网穿透泛域名访问,如不需要域名访问,可以跳过此步骤。

2. 服务器端搭建 nps 并配置

2.1 配置 nps 配置文件

nps 安装时需要加载配置文件,所以需要先创建好配置文件。6.下载 nps 服务端配置文件到本地,选择与服务器系统相对应的版本,我这里选择linux_amd64_server.tar.gz,下载地址:https://github.com/ehang-io/nps/releases

1.解压下载好的安装包,进入 conf 目录下,对 npc.conf 配置文件进行修改。
•首先修改 http_proxy_porthttps_proxy_port 的端口号为2008020443

•配置bridge_port28024

•配置修改web_usernameweb_passwordweb_port,其中web_port修改为28080web_usernameweb_password是 web 管理端的用户名和密码,自行配置即可;web_port是 web 管理端的端口号,通过 IP:端口 即可访问 web 管理端。

•其他配置请参照 nps 服务端配置文档并根据需要自行配置。参考地址:nps 服务端配置文件[3]

注:这里为了防止与其他已安装的环境冲突,将所有的端口号全部调整到 20000-30000 之间。

http_proxy_port:http 代理端口号

https_proxy_port:https 代理端口号

bridge_port:桥接端口号

web_username:web 管理端用户名

web_password:web 管理端密码

web_port:web 管理端端口号
1.将修改好的配置文件及其目录 conf 上传到服务器的 /etc/nps 目录下,如果没有此目录,可以自行创建。

2.2 docker 安装 nps

1.拉取 nps 服务端 docker 镜像

docker pull ffdfgdfg/nps

2.运行 nps 容器,并设置开机自启动

docker run -d --restart=always --name nps --net=host -v /etc/nps/conf:/conf ffdfgdfg/nps

3.此时 nps 服务端已经安装完成,可以通过docker ps查看是否运行成功。

2.3 web 端配置 nps 并使用

注:如无法访问,请到云服务器管理后台开放对应端口的访问权限。
注:如安装了宝塔面板等,也需要去到面板管理界面开放端口的访问权限。
4.首先通过浏览器访问http://服务器 IP:28080,输入配置文件中设置的用户名和密码即可进入 web 管理端。28080 是web_port配置的端口号。

1.在右侧客户端界面新增一个客户端,然后在客户端界面点击 "+" ,查看其中的客户端命令。

3. 客户端使用 nps



1.下载 nps 客户端 npc 到本地,选择与服务器系统相对应的版本,我这里选择 windows_amd64_client.tar.gz ,下载地址:https://github.com/ehang-io/nps/releases2.解压下载的文件,并放置到指定位置,如桌面上。

1.CMD 管理员进入该解压后的目录中,并运行服务端提供的客户端命令。2.windows 运行命令,需要将其中 ./npc 替换为 npc.exe

1.此时本地 npc 客户端已成功运行,并且 web 管理端也显示连接状态为在线。

在这里插入图片描述
1.此时本地服务器已与云服务器连接成功。2.在客户端界面点击隧道,新增一条隧道。如果需要在外网访问本地 http://127.0.0.1:8080,则需要在隧道中新增一条 tcp 类型的隧道,如下图所示。

此时通过 服务器 ip + 服务端端口号即可访问本地的网站,内网穿透到此结束。

注意:

1.CMD 必须已管理员身份运行,否则无法成功。2.windows 下请将其中的 ./npc 替换为 npc.exe 。3.nps 服务端和客户端的版本必须一致,否则无法连接。4.nps 中 s 表示服务端,npc 中 c 表示客户端。


4. 配置泛域名解析

配置到上面一步已经能正常使用了,但我手头有已备案的域名,就考虑能否使用域名来代替 服务器 ip + 端口的形式来进行内网穿透。

准备工作:

• 已备案域名一个

• 云服务中需要安装宝塔面板

域名:这里使用 http://example.cn 代替域名,实际使用时请替换为自己的域名。


1.进入域名 DNS 解析页面,添加一条泛域名解析,将 *.nps.example.cn 解析到 服务器 ip。2.到 nps 的 web 端管理界面中添加一条域名解析。

1.此时便可通过 http://1.nps.example.cn:20080 访问到本地内网网站了。这里的 20080http_proxy_port 中配置的端口号。

1.这时已成功通过 域名+端口 的形式完成内网穿透,下面将通过配置取消掉域名后面的端口,使用 仅域名 形式的访问。
1.1 在云服务器的宝塔面板中创建一个网站,域名就填写 *.nps.example.cn

1.2 网站创建好后,点击设置,选择配置文件,在配置文件最后添加如下内容,将域名代理到域名+端口的形式,从而实现单独的域名访问。

location /{resolver 114.114.114.114;proxy_pass http://$host:20080;}

2.至此实现域名的内网穿透访问。

5. 参考链接



1.nps 官网[4]2.nps 文档[5]3.CSDN-Centos8.2 利用 Docker 实现 NPS 内网穿透与宝塔共存[6]4.宝塔面板安装教程[7]5.博客园-nginx 的 proxy_pass[8]


本文首发于本人博客:https://blog.gitnote.cn/post/nps

版权信息: CC BY-NC-SA 4.0 (自由转载-非商用-相同方式共享-保持署名)

相关链接

[1] 菜鸟教程-docker 的安装: https://www.runoob.com/docker/centos-docker-install.html
[2] 宝塔面板安装教程: https://www.bt.cn/new/download.html
[3] nps 服务端配置文件: https://ehang-io.github.io/nps/#/server_config
[4] nps 官网: https://github.com/ehang-io/nps
[5] nps 文档: https://ehang-io.github.io/nps/#/server_config
[6] CSDN-Centos8.2 利用 Docker 实现 NPS 内网穿透与宝塔共存: https://blog.csdn.net/weixin_46664446/article/details/120534401
[7] 宝塔面板安装教程: https://www.bt.cn/new/download.html
[8] 博客园-nginx 的 proxy_pass: https://www.cnblogs.com/xiaoleiel/p/8308456.html

关键词:配置,使用

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭