NPS内网穿透工具

简介:

NPS是一款轻量级,高性能,功能强大的内网穿透工具。目前支持,域名解析,TCP、UDP、HTTP、SOCKS5代理、私密代理、支持snappy压缩、站点保护、加密传输、多路复用、header修改,支持WEB图形化管理界面等。

 

事前准备:

  1. 一台公网服务器
  2. 对应的操作系统使用的程序:https://github.com/cnlh/nps/releases
  3. 一台物理机+两台虚拟机模拟内网主机(NAT模式)。

拓扑图:


服务端:

#本次试验的centos服务器

wget https://github.com/ehang-io/nps/releases/download/v0.26.5/freebsd_amd64_server.tar.gz
tar -zxvf linux_amd64_server.tar.gz
./nps install
./nps start  #启动
./nps stop    #停止
./nps restart #重启

安装完成→启动访问:公网IP:8080 -登录,默认用户名密码:admin 123 

也可以在配置文件里面修改:/nps/conf/nps.conf

#web
web_host=a.o.com
web_username=admin
web_password=Test123
web_port = 8080
web_ip=0.0.0.0

找到对应的配置进行修改
./nps reload #重新载入配置文件

登录后主页-客户端-新建一般默认就可以。

 

 

 


客户端:

安装同理上面,需要选择客户端版本。
shell终端输入:./npc -server=公网IP:8024(默认隧道端口) -vkey=5lwxh3opkvhgffin(统一验证秘钥) -type=tcp
如果需要更换命令内容需要先卸载./npc uninstall,再重新注册

启动成功后就有日志打印出来:

 

到服务端查看,是否在线;


一、搭建HTTP代理通道;

此时我们需要访问内网的另一台主机的WEB服务,我们就需要设置HTTP隧道。

  1. 点击客户端-主机-隧道,我们设置服务端口为:8765。
  2. 此时我们需要本地浏览器设置代理去访问内网的主机。

 

使用火狐代理插件,没有插件也可以直接在浏览器设置里面修改

 

使用开启代理,输入内网web地址:

 


二、想将公网服务器的8787端口,作为socks5代理,达到访问内网任意资源的效果

 

  1. 大概步骤:客户端隧道中添加socks5代理,端口号填写为8787,保存
  2. 使用全局代理工具(sockes5)例如Proxifier-在配置文件中添加代理IP和端口

 

连接内网服务器的3389端口

 


三、其他设置

域名解析

假设场景:

  • 有一个域名xxxx.com,有一台公网机器ip为x.x.x.x
  • 两个内网开发站点127.0.0.1:81,127.0.0.1:82
  • 想通过(http|https://)a.proxy.com访问127.0.0.1:81,通过(http|https://)b.proxy.com访问127.0.0.1:82

使用步骤

  • 将*.proxy.com解析到公网服务器1.1.1.1
  • 点击刚才创建的客户端的域名管理,添加两条规则规则:1、域名:a.proxy.com,内网目标:127.0.0.1:81,2、域名:b.proxy.com,内网目标:127.0.0.1:82

 

tcp隧道

适用范围: ssh、远程桌面等tcp连接场景

假设场景: 想通过访问公网服务器1.1.1.1的8001端口,连接内网机器10.1.50.101的22端口,实现ssh连接

使用步骤

  • 在刚才创建的客户端隧道管理中添加一条tcp隧道,填写监听的端口(8001)、内网目标ip和目标端口(10.1.50.101:22),保存。
  • 访问公网服务器ip(1.1.1.1),填写的监听端口(8001),相当于访问内网ip(10.1.50.101):目标端口(22),例如:ssh -p 8001 root@1.1.1.1

 

udp隧道

适用范围: 内网dns解析等udp连接场景

假设场景: 内网有一台dns(10.1.50.102:53),在非内网环境下想使用该dns,公网服务器为1.1.1.1

使用步骤

  • 在刚才创建的客户端的隧道管理中添加一条udp隧道,填写监听的端口(53)、内网目标ip和目标端口(10.1.50.102:53),保存。
  • 修改需要使用的dns地址为1.1.1.1,则相当于使用10.1.50.102作为dns服务器

http正向代理

适用范围: 在外网环境下使用http正向代理访问内网站点

假设场景: 想将公网服务器1.1.1.1的8004端口作为http代理,访问内网网站

使用步骤

  • 在刚才创建的客户端隧道管理中添加一条http代理,填写监听的端口(8004),保存。
  • 在外网环境的本机配置http代理,ip为公网服务器ip(1.1.1.1),端口为填写的监听端口(8004),即可访问了

注意:对于私密代理与p2p,除了统一配置的客户端和服务端,还需要一个客户端作为访问端提供一个端口来访问

 

其他的有空再试试吧。其他设置是官方文档里的。

具体参考文档:https://ehang-io.github.io/nps/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值