centos 宝塔搭建nps教程
ps:安装nps,必须纯净系统,安装了宝塔在安装,有一定几率会安装失败!
安装成功后配置文件在/etc/nps/conf目录
1.在root目录新建一个nps文件夹
2.在宝塔远程下载文件到nps文件https://github.com/ehang-io/nps/ ... amd64_server.tar.gz
(怕麻烦可以下载附件最新版本2022年7月9日 12:49:48)
3.解压到nps文件4.进入nps目录 cd nps
5.输入安装命令
sudo ./nps install
6.输入启动命令
sudo nps start
7.ps:建议没安装之前提前改端口80、443更改为其他,如808、4433等,因为安装了nginx后占用了80、443这个端口
ps:GitHub地址:https://github.com/ehang-io/nps客户端配置如下(windows)
server_addr=yun.wltxdn.com:8024
conn_type=tcp
vkey=#这个是输入nps生成的秘钥
auto_reconnection=true
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username=
basic_password=
web_username=
web_password=
crypt=true
compress=true
#pprof_addr=yun.wltxdn.com:3389
disconnect_timeout=60
服务器端下载地址:
解压文件包结构如下:
linux_amd64_server/
conf ##配置文件目录
web ##web文件目录
nps ##nps运行文件
进入conf目录,可编辑nps.conf配置文件对部分选项进行配置,默认运行不需要进行任何配置即可运行
默认配置运行nps服务端启动会占用80,8080,8024端口,可根据需求对配置进行修改。
appname = nps
Boot mode(dev|pro)启动模式
runmode = dev
HTTP(S) proxy port, no startup if empty
HTTP(S)代理端口,如果为空则不启动
http_proxy_ip=0.0.0.0
http_proxy_port=8081 #http监听端口,默认80
https_proxy_port=443
https_just_proxy=true
default https certificate setting
默认HTTPS证书设置
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key
bridge桥接
bridge_type=tcp
bridge_port=8024 ##客户端与服务端连接端口
bridge_ip=0.0.0.0
Public password, which clients can use to connect to the server
公共密码,客户端可以使用它连接到服务器
After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
连接完成后,服务器就可以打开相关端口,根据自己的配置文件解析相关域名。
public_vkey=123
Traffic data persistence interval(minute)
流量数据持续时间间隔(分钟)
Ignorance means no persistence
flow_store_interval=1
log level LevelEmergency->0 LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7
日志等级设置
log_level=7
log_path=nps.log
Whether to restrict IP access, true or false or ignore
是否限制IP访问,true、false或ignore
ip_limit=true
p2p代理
p2p_ip=127.0.0.1
p2p_port=6000
web
web_host= ##web管理端登录地址URL
web_username=admin ##web管理端登录名
web_password=123 ##web管理端登录密码(注:正式环境建议更改)
web_port = 8080 ##web管理端访问端口
web_ip=0.0.0.0 ##web管理端登录地址默认0.0.0.0不需要修改
web_base_url= ##管理端web路径,默认不需要指定
web_open_ssl=false #管理端是否开启ssl
web_cert_file=conf/server.pem
web_key_file=conf/server.key
if web under proxy use sub path. like http://host/nps need this.
web_base_url=/nps
Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
Remove comments if needed
auth_key=test
auth_crypt_key =1234567812345678
allow_ports=9001-9009,10001,11000-12000
Web management multi-user loginWeb管理多用户登录
allow_user_login=false
allow_user_register=false
allow_user_change_username=false
extension
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false
cache
http_cache=false
http_cache_length=100
get origin ip
http_add_origin_header=false
pprof debug options
pprof_ip=0.0.0.0
pprof_port=9999
client disconnect timeout客户端断开连接超时
disconnect_timeout=60
运行服务端
./nps
访问服务端
2.客户端部署
客户端使用虚拟机win7模拟内网,下载对应版本客户端程序windows_amd64_client.tar.gz上传至内网主机
解压文件包结构如下:
conf #客户端配置文件夹
npc.exe #客户端运行程序
下载好客户端程序后解压压缩包,在客户端配置文件夹conf中找到npc.conf配置文件进行编辑。
这里我们使用客户端配置文件模式将客户端内网3389映射到公网vps43389端口实现远程访问内网主机。
3.客户端详细配置
在配置文件中将和之外的参数项删除,本次通过TCP代理实现内网3389端口映射,配置如下:
server_addr=1.1.1.1:8024 ## 服务端vps ip/域名:port
conn_type=tcp ## 通信模式与服务端配置bridge中bridge_type=tcp设为一致
vkey=w4c7qokkqsfqzxeg ## 端配置文件中的服务密钥,手动指定
auto_reconnection=true ## 断线重连
max_conn=1000
flow_limit=1000
rate_limit=1000
basic_username=11 ## 代理认证用户名
basic_password=3 ## 代理认证密码
web_username=user
web_password=1234
crypt=true ## 加密传输
compress=true ## 压缩传输
pprof_addr=0.0.0.0:9999
disconnect_timeout=60
mode=tcp
target_addr=192.168.138.135:3389 ##内网服务地址 ip:port
server_port=43389 ##映射到vps端口
4.建立连接
登录服务端web控台,在“客户端-客户端列表”添加新增
添加设置如下图所示,注意:basic用户名和密码需与上文客户端配置中basic_username/basic_password一致、唯一验证秘钥有客户端配置中vkey一致。
保存后,继续新建连接隧道
在隧道列表中新增
设置代理模式、服务端口和内网地址
完成如上配置后,在客户端运行npc.exe
访问测试连接成功
通过客户端配置文件进行连接的方式需要修改配置文件的相关参数项,上文模拟中介绍了通过TCP代理内网3389的方式,在实际使用需求中对于其他代理模式配置大同小异,只需要在客户端配置选项中保留需要使用的代理模式参数进行配置,删除其他模式参数,在web管理端新建隧道选择相对应的代理模式即可。其他代理模式详细配置不再详细描述。
环境模拟2-客户端无配置文件模式
环境拓扑:
1.服务端部署
服务端的部署与上文相同不再重复说明。
在服务端web管理新建一个客户端连接。
填写新建参数,选择不通过客户端配置文件连接
新建完成后点击列表中的“+”号展开详情
在详情中给出客户端连接命令,注意这里给出的命令为linux运行命令,如果客户端使用Windows客户端时运行npc.exe
./npc -server=81.0.0.0:8024 -vkey=qwertasdfg -type=tcp ##linux
npc.exe -server=81.0.0.0:8024 -vkey=qwertasdfg -type=tcp ##windows
2.客户端部署
下载客户端对应的版本
上传至客户端进行解压
tar -zxvf linux_amd64_client.tar.gz
解压后不需要对配置文件进行修改。
3.建立连接
在客户端执行连接命令
./npc -server=81.0.0.0:8024 -vkey=qwertasdfg -type=tcp
刷新web管理页面查看连接成功
新建隧道设置代理模式使用TCP代理,设置服务端映射端口,内网ip服务端口
配置完成后本地使用vpsip映射端口访问内网ssh进行测试,如下图代理成功
其他代理模式设置在新建隧道时选择进行配置即可,不再一一列举
0x04 总结
使用nps时需要注意的问题:服务端默认配置启用了8024、80、443端口,如果端口冲突将导致无法启动,请注意修改配置。注意检查安全组防火墙规则,在nps使用过程中放相应的端口。
nps代理工具的部署使用配置相对于其他代理工具来说操作简单,nps服务端支持多客户端连接能够实时统计流量情况,通过web管理端更友好的管理。
本文由Tide安全团队原创发布重启命令:
sudo nps restart
给出好 赞一个! 顶一个了
页:
[1]