nps内网穿透使用

news/2024/11/19 15:23:05/文章来源:https://www.cnblogs.com/zxq89/p/18197846

原版的https://github.com/ehang-io/nps已经停止更新

新版的地址 https://github.com/yisier/nps

一、安装

可以下载已经编译好的程序安装。网上有很多教程。

也可以下载源码编译,需要注意的是如果到cmd/nps下面编译,运行的时候,需要把conf目录拷贝到nps目录下才能运行,缺少配置文件会运行失败。

所以直接在根目录运行

go build cmd/nps/nps.go
go build cmd/npc/npc.go

比较好,正如源码中Makefile那样写的。

二、运行

1)nps配置

如上面所说,主要是注意配置好conf文件。

简单运行一个nps的基本配置,配置conf/nps.conf:

bridge_type=tcp   // npc连接到nps的方式
bridge_port=8024   // npc连接到nps的端口,例如这里配置为8024
bridge_ip=0.0.0.0

tls_enable=true  // 这个开启的话,npc可以以tls加密的方式连接到nps
tls_bridge_port=8025  // 这个是加密方式的npc访问端口,例如这里配置为8025

#web
web_host=a.o.com
web_username=admin   // web端登录账号
web_password=123     // web端登录密码
web_port = 8081    // web端登录端口
web_ip=0.0.0.0     
web_base_url=           // web的baseurl,和当前服务器上的其他url没冲突的话,置空就行
web_open_ssl=false      // 是否使用https,设置为true的话,下面的证书配置web_cert_file和web_key_file生效
web_cert_file=conf/server.pem
web_key_file=conf/server.key

log_level=6 // 日志级别数值越大,输出的内容就越多。
log_path=nps.log // 日志路径

#Web management multi-user login
allow_user_login=false    // 是否允许用户登录,结合allow_user_register可以多用户使用。注册的user信息会写入 conf/clients.json配置文件中。
allow_user_register=false  // 是否允许用户注册 , 开启后,用户可以注册用户和登录。不过截至目前,admin账号似乎没有管理功能,所以一般就保持默认false吧
allow_user_change_username=false  // 是否允许用户修改用户名

剩下的还有一些Web API的验证配置和其他连接上的控制配置。

 

之后就可以运行nps了,可以把nps配置为系统服务来运行,保持其稳定性。

对应的端口,例如上面提到的8081 web端口,8024 8025 npc连接端口,要注意防火墙放通。

还需要放通一个或者多个端口,用于业务端通过这些端口来穿透到内网目标主机(例如下面例举的12345端口)。如果只配置少量的端口,例如一个的话,由于端口冲突,那么这一个端口,同时只能用来访问一个客户端,此时需要关闭其他不用的客户端即可。

 

2)nps运行

在上面配置好nps之后,可以登录到页面进行配置,增加客户端

主要是配置 唯一验证密钥,即vkey。这个值配置好后,需要给到目标主机,目标主机上运行npc的时候,需要这个vkey来验证连接。

配置完成后,可以查看给到npc的配置:

 

然后配置隧道,比如TCP隧道:

 例如:服务端的端口设置为12345,目标端口为22(ssh),那么在npc启动后,通过命令:  ssh  [目标主机的用户]@[nps的地址]  -p 12345 即可通过ssh连接到目标主机上。

备注:这里的12345端口即前面提到的要确保放通的提供给业务端穿透的端口。

配置完成后,可以从客户端那边

 

3)npc配置

将 npc放到内网目标主机上,依据之前查看到的配置,例如 ./npc -server=xx.xx.xx.xx:8024 -vkey=mytest27 -type=tcp 来启动。

或者把这些配置写到conf/npc.conf文件中:

[common]
server_addr=xx.xx.xx.xx:8025  // nps的连接地址与端口,可以选择加密和不加密的连接端口
conn_type=tcp  // 连接方式
vkey=mytest27   // nps中配置的客户端的唯一验证密钥,即vkey

auto_reconnection=true  
max_conn=1000
flow_limit=1000
rate_limit=1000
crypt=true
compress=true
disconnect_timeout=60
tls_enable=true  // 如果是连接的加密端口,需要配置为true。这里连接的是8025加密端口,所以配置为true。

4) npc运行

按照上面配置好后,可以启动npc,确保npc也是保持运行,可以配置为系统服务。

然后就可以通过nps主机的地址和配置的通道端口来访问到目标主机的端口了。上面配置隧道的时候已经举例,不再赘述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707771.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(二)Redis 数据类型与结构

Redis 数据类型与结构1、值的数据类型 Redis “快”取决于两方面,一方面,它是内存数据库,另一方面,则是高效的数据结构。Redis 键值对中值的数据类型,也就是数据的保存形式有5种:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合)。这…

高薪线下周末班马上开班,手把手带你提升职业技能

管理学大师彼得德鲁克说“终身学习是现在社会的生存法则”,而现实中,很少有人能清醒地意识到这一点,人们总是习惯在舒适区兜圈,重复做已经掌握的事情,对真正需要突破的职业困境视而不见。 偶尔看到同事跳槽涨薪,技术越来越娴熟,自己也期望着可以跟他们一样,幻想着有一天…

dapr离线安装

dapr离线包下载地址: https://github.com/dapr/cli/releases 下载完以后放到C:\dapr目录下,然后配置上环境变量即可,可以用dapr --version查看是否配置成功 初始化包下载地址: https://github.com/dapr/installer-bundle/releases 下载 daprbundle_windows_amd64.zip 解压以后…

dapr离线初始化

打开地址: https://github.com/dapr/installer-bundle/releases 下载 daprbundle_windows_amd64.zip 解压以后,放到此目录下,注意放的是daprbundle文件夹下内容 D:\daprbundle_v1.13.2指定目录进行初始化: dapr init --from-dir D:\daprbundle_v1.13.2 最后初始化完成,如下图…

LDAP数据备份与恢复

一、命令形式 以整体备份(迁移)来示范 1.1 说明使用命令:导出---slapcat 导入--- slapaddopenldap的数据目录是/var/lib/ldap/备份可以通过直接备份/var/lib/ldap/文件夹,恢复也是直接使用备份的文件夹替换就行,此处不做演示下面使用命令行形式进行演示 1.2 导出数据文件 …

pyqt5 子线程如何操作主线程GUI

一.简介 在使用pyqt5编写gui时遇到两个问题,会导致界面崩溃,今天就围绕这两个问题来简单说明和改进。 1.在主线程中使用while无限循环会导致界面崩溃 2.在子线程中操作主线程gui会导致界面崩溃 二.步骤说明 1.在主线程中使用while无限循环会导致界面崩溃 1)错误代码import s…

BOSHIDA AC/DC电源模块的设计与优化

BOSHIDA AC/DC电源模块的设计与优化 AC/DC电源模块是一种将交流电转换为直流电的设备,广泛应用于各种电子设备中。其设计与优化对于提高电源的效率、稳定性以及可靠性非常重要。在设计与优化AC/DC电源模块时,需要考虑以下几个方面。 首先,设计AC/DC电源模块需要选择合适的开…

Applescript实现无痕检测是否注册iMessage服务,iMessages数据筛选,iMessage蓝号检测完美实现

一、实现iMessage蓝号数据筛选的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号…

SSRF攻击

SSRF服务端请求伪造目录SSRF攻击原理漏洞利用redis未授权访问访问漏洞进行攻击SSRF绕过方式SSRF中URL的伪协议SSRF漏防御手段 SSRF攻击 服务端请求伪造 原理 事故多发地在url分享、收藏、网址翻译功能。 参数通常是:(其实就是参数值是另一个url的地方就有可能有SSRF) share li…

函数计算帮助领健为“看牙”注入AI活力

作者:姜伟,龚杨,周韬,王彬 客户介绍和业务背景 领健成立于2015年,总部位于上海,并在全国设立了20余家分支机构,拥有100项软件著作权、91项注册商标、35项发明专利,致力为口腔诊所、医美机构等消费医疗企业提供经营管理一体化解决方案。 领健拥有 ISO/IEC27001 国内国际…

【Linux】《VMware17搭建Ubuntu.22.04-Rust开发环境》

下载VMware17安装包 下载链接: 创建虚拟机之后都默认就可以了。进入系统设置登录账号和密码以及修改下语言,剩余都默认即可。 设置中文界面设置中文输入法接下来开始设置输入法切换快捷键设置 使用 Ctrl + Alt + T 打开终端,输入 ibus-setup重启,看一下是否有输入法信息尝试…