赞
踩
内网穿透是一种将内网服务映射至公网的技术,使我们能从外网访问处于NAT/防火墙之后的内网服务。作为运维人员,不管是远程维护服务器还是调试局域网设备,内网穿透都是一个好用的利器。
本章将介绍最新(2024)部署NPS高性能反代服务器详细教程和避坑指南,将你的内网服务器暴露在公网,当然还为大家准备好玩的玩法,让你的Windows笔记本无论何时只要在联网后就能通过远程桌面控制,不受内网限制,是不是特有意思?快来看看具体如何实现的吧!
原文链接:2024最新部署安装NPS高性能反代服务器详细教程和避坑指南 | BOBO Blog | 波波博客 (soulcloser.com)https://www.soulcloser.com/3951/
关于NPS主要特点:
一台有公网IP的服务器,操作系统为Linux或Windows。这里以生产环境使用较多的操作系统Centos为例,步骤都一样,只是命令不同罢了。如果是你使用的其他的操作系统可以复制命令让AI给你“翻译”一下。
首先,需要在GitHub NPS项目的Releases页面找到对应平台的服务端(server)程序:Release v0.26.10 · ehang-io/nps · GitHub 简单这里就不贴图了。找到之后,右键复制它的下载链接,在终端使用命令下载到当前目录。接下来演示的是基于 x86-64 架构的LInux发行版的命令,如果你是ARM架构的服务器需要改一下下载的链接,命令都一样,安装过程需要root权限。下载安装包命令为:(Centos、Ubuntu、Debian都可以用wget + 安装包链接下载)
下载后,使用命令解压缩。解压缩命令这三个操作系统也是一样的
安装NPS,命令也是一样的。这里也附上了nps的管理命令,比较简单
由于内容比较简单这里就不过多贴图片了。安装完成后,需要编辑nps的配置文件nps.conf
文件的位置: /etc/nps/conf/nps.conf
名称 | 含义 |
---|---|
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 |
服务端配置文件说明
使用编辑器编辑文件,看服务器是什么编辑器了,没有则需要安装
这里给出我的配置文件,并标出一些主要需要修改的地方,诸位可根据自己的情况更改
- <span style="color:#3a4f66"><code>[root@BOBO ~]# cat /etc/nps/conf/nps.conf
- appname = BOBO-Blog
- #Boot mode(dev|pro)
- runmode = dev
-
- #HTTP(S) proxy port, no startup if empty
- #http_proxy_ip=0.0.0.0
- #http_proxy_port=80
- #https_proxy_port=443
- #https_just_proxy=true
- #default https certificate setting
- #https_default_cert_file=conf/server.pem
- #https_default_key_file=conf/server.key
-
- #上面这段http打头的是默认的http配置,可全注释<strong>
- </strong>
- ##bridge
- bridge_type=tcp #客户端与服务端连接方式kcp或tcp,如果你不清楚kcp则建议默认tcp
- bridge_port=8080 #通过此端口连接到nps服务器,不在防火墙放行客户端无法连接到服务器
- 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_limit=true
-
- #p2p
- #p2p_ip=127.0.0.1
- #p2p_port=6000
-
- #web
- web_host=127.0.0.1 #本地服务器IP
- web_username=BOBO #web管理端登录用户名
- web_password=admin #web管理端登录密码
- web_port = 30300 #web管理端访问端口,不在防火墙放行端口你是无法打开web的
- 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
- # 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 #获取服务端authKey时的aes加密密钥,16位
-
- #allow_ports=9001-9009,10001,11000-12000
-
- #Web management multi-user login
- 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=true
-
- #pprof debug options
- #pprof_ip=0.0.0.0
- #pprof_port=9999
-
- #client disconnect timeout
- disconnect_timeout=60 #客户端连接超时时间,单位 5s,默认值 60,即 300s = 5mins</code></span>
检查配置无误后,保存退出。并执行命令启动nps
现在你应该可以通过服务器IP+web端口访问你的nps web管理端了。无法打开检查防火墙是否放行端口
在内网服务器上下载NPC客户端程序,与服务端保持同版本,不同版本会导致无法连接这里的版本指的是:v0.26.10。(你问我怎么知道声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/962085
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。