杜郎俊赏 - dujun.io

开源实例之NPS

前言

本篇介绍用 NPS 搭建 ssh、web 内网穿透的方法。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。

NPS介绍

NPS is a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.

NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等,并带有功能强大的web管理端。

NPS 比 frp 多了 web 管理后台,配置更加方便,不必每次修改都重启服务。

仓库地址:https://github.com/ehang-io/nps

文档地址:https://ehang-io.github.io/nps

NPS部署

NPS 是 Go 语言编写的独立程序,不需要其他依赖,分为服务端(公网服务器)和客户端(内网服务器)。

以下例子中,192.168.56.10 扮演公网 ip,192.168.56.11 扮演内网 ip。

软件下载

到 git 下载 release 包,以 linux 0.26.10 版为例:

服务端下载地址:
https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz

客户端下载地址:
https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz

服务端部署

在公网服务器解压 linux_amd64_server.tar.gz,进入目录执行安装:

sudo nps install

启动程序:

sudo nps start

启动后 web 后台默认监听在 8080 端口。如果有端口冲突,修改 conf/nps.conf 相关配置即可。

特别注意:需要配置公网服务器安全组,开放相关端口。

客户端管理

NPS 使用 web 后台进行管理,登录http://192.168.56.10:8080(初始用户名/密码是 admin/123)。菜单进入“客户端”新增一个客户端配置:

创建后可以看到客户端登录命令:

启动客户端

在内网服务器解压 linux_amd64_client.tar.gz,进入目录执行启动命令(后台所示):

./npc -server=192.168.56.10:8024 -vkey=2w95yh5kdjkuqoxm -type=tcp

建立隧道

使用 web 后台管理隧道。

SSH隧道

菜单进入“TCP 隧道”新增一条 SSH隧道:

此时就可以通过公网(192.168.56.10)端口 SSH 到内网(192.168.56.11):

ssh -p 8088 test@192.168.56.10

WEB隧道

菜单进入“域名解析”新增一条解析:

此时就可以通过外网域名访问部署在内网服务器的项目。

后记

体验更多开源实例

标签: 开源实例
日期:2023-02-22