腾讯云cvm 部署nps实现内网穿透代理

NPS

NPS GitHub
NPS 中文官方文档

云CVM环境

# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
# uname -a
Linux VM-24-11-centos 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

下载安装包并安装

nps-releases

# wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
# mkdir /usr/local/nps && cd /usr/local/nps
# tar xf linux_amd64_server.tar.gz
# 安装nps
# ./nps install
# mv /usr/local/nps/nps /usr/local/bin/

修改配置文件

# cd /etc/nps/conf/
# cat nps.conf | grep -Ev '^#|^$'
appname = nps
runmode = dev
http_proxy_ip=0.0.0.0
http_proxy_port=80
https_proxy_port=443
https_just_proxy=true
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key
bridge_type=tcp
bridge_port=8024
bridge_ip=0.0.0.0
public_vkey=123
log_level=7
web_host=a.o.com
web_username=admin
web_password=123
web_port = 8080
web_ip=0.0.0.0
web_base_url=
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
auth_crypt_key =1234567812345678
allow_user_login=false
allow_user_register=false
allow_user_change_username=false
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
http_cache=false
http_cache_length=100
http_add_origin_header=false
disconnect_timeout=60
名称 含义
web_port web管理端口
web_password web界面管理密码
web_username web界面管理账号
web_base_url web管理主路径,用于将web管理置于代理子路径后面
bridge_port 服务端客户端通信端口
https_proxy_port 域名代理https代理监听端口
http_proxy_port 域名代理http代理监听端口
auth_key web api密钥
bridge_type 客户端与服务端连接方式kcp或tcp
public_vkey 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ip_limit 是否限制ip访问,true或false或忽略
flow_store_interval 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level 日志输出级别
auth_crypt_key 获取服务端authKey时的aes加密密钥,16位
p2p_ip 服务端Ip,使用p2p模式必填
p2p_port p2p模式开启的udp端口
pprof_ip debug pprof 服务端ip
pprof_port debug pprof 端口
disconnect_timeout 客户端连接超时,单位 5s,默认值 60,即 300s = 5mins

启动

nps start

停止

nps stop

重启

nps restart

端口放行

在云服务器防火墙或安全组中放行相应端口

必须放行的两个端口

# cat nps.conf | grep -Ev '^#|^$'
···
bridge_port=8024      服务端客户端通信端口
web_port = 8080      NPS的web管理界面
···

登陆NPS服务


用户名和密码为配置文件中配置的,请使用修改后的密码进行登录

web_username=admin
web_password=123

web界面配置

添加客户端


添加TCP通道


客户端ID编号要与客户端的ID对应

客户端配置

下载安装包并解压
windows_amd64_client.tar.gz

复制客户端命令修改为以下格式

D:\app\windows_amd64_client\npc.exe install -server=xxx.xxx.xxx:xxxx -vkey=xxxxxxxxxxxxxxx -type=tcp
  • D:\app\windows_amd64_client\ npc.exe路径解压后的位置
  • -server=-vkey= 为复制的客户端信息

用管理员打开cmd命令执行

启动客户端应用

完成后登录web端查看连接状态为在线,如果不是在线状态是有问题的,可以检查下端口放开没有

连接测试,就可以连接啦

posted @ 2023-03-30 15:50  Chuyio  阅读(219)  评论(0编辑  收藏  举报