2024最新部署安装NPS高性能反代服务器详细教程和避坑指南 ...

一给  金牌会员 | 2024-7-18 22:24:11 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 541|帖子 541|积分 1623

前言

内网穿透是一种将内网服务映射至公网的技术,使我们能从外网访问处于NAT/防火墙之后的内网服务。作为运维职员,不管是远程维护服务器还是调试局域网装备,内网穿透都是一个好用的利器。
本章将先容最新(2024)部署NPS高性能反代服务器详细教程和避坑指南,将你的内网服务器袒露在公网,当然还为大家预备好玩的玩法,让你的Windows笔记本无论何时只要在联网后就能通过远程桌面控制,不受内网限定,是不是特故意思?快来看看详细如何实现的吧!
原文链接:2024最新部署安装NPS高性能反代服务器详细教程和避坑指南 | BOBO Blog | 波波博客 (soulcloser.com)
https://www.soulcloser.com/3951/
关于NPS

关于NPS紧张特点:

  • 跨平台支持:支持Windows、Linux、MacOS等多种操作系统平台,可移植性强。
  • 协议支持:支持tcp、udp流量转发,可支持任何TCP、UDP上层协议(访问内网网站、本地支付接口调试、SSH访问、远程桌面,内网dns解析等等)
  • 资源占用小:整个程序只有几MB大小,对服务器资源占用极小,非常轻量级。
  • 使用简单:基于客户端-服务端模式,部署和使用非常轻便,不需复杂配置。
  • 支持多种工作模式:支持TCP和KCP两种传输模式,可根据网络环境选择合适的模式。
  • Web UI管理:提供Web管理界面,可在线可视化添加、删除、管理内网穿透通道。
  • 多层级身份验证:提供vkey和其他身份验证步伐,肯定程度上保证了安全性。
  • 免费开源:NPS基于MIT协议开源免费,可以根据现实需求举行二次开发和修改。
   
  

  部署服务端: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 + 安装包链接下载)
                     wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz                下载后,使用命令解压缩。解压缩命令这三个操作系统也是一样的
                     tar -zxvf linux_amd64_server.tar.gz                安装NPS,命令也是一样的。这里也附上了nps的管理命令,比力简单
                     ./nps install #安装nps                        nps start|stop|restart|uninstall|update or nps-update update #管理nps                由于内容比力简单这里就不外多贴图片了。安装完成后,需要编辑nps的配置文件nps.conf
配置文件分析

文件的位置: /etc/nps/conf/nps.conf
名称含义web_portweb管理端口web_passwordweb界面管理密码web_usernameweb界面管理账号web_base_urlweb管理主路径,用于将web管理置于代理子路径后面bridge_port服务端客户端通信端口https_proxy_port域名代理https代理监听端口http_proxy_port域名代理http代理监听端口auth_keyweb api密钥bridge_type客户端与服务端连接方式kcp或tcppublic_vkey客户端以配置文件模式启动时的密钥,设置为空表现关闭客户端配置文件连接模式ip_limit是否限定ip访问,true或false或忽略flow_store_interval服务端流量数据长期化隔断,单位分钟,忽略表现不长期化log_level日志输出级别auth_crypt_key获取服务端authKey时的aes加密密钥,16位p2p_ip服务端Ip,使用p2p模式必填p2p_portp2p模式开启的udp端口pprof_ipdebug pprof 服务端ippprof_portdebug pprof 端口disconnect_timeout客户端连接超时,单位 5s,默认值 60,即 300s = 5mins 服务端配置文件分析
编辑nps.conf配置文件

使用编辑器编辑文件,看服务器是什么编辑器了,没有则需要安装
                     vim /etc/nps/conf/nps.conf #使用vim编辑                这里给出我的配置文件,并标出一些紧张需要修改的地方,诸位可根据自己的情况更改
  1. <span style="color:#3a4f66"><code>[root@BOBO ~]# cat /etc/nps/conf/nps.conf
  2. appname = BOBO-Blog
  3. #Boot mode(dev|pro)
  4. runmode = dev
  5. #HTTP(S) proxy port, no startup if empty
  6. #http_proxy_ip=0.0.0.0
  7. #http_proxy_port=80
  8. #https_proxy_port=443
  9. #https_just_proxy=true
  10. #default https certificate setting
  11. #https_default_cert_file=conf/server.pem
  12. #https_default_key_file=conf/server.key
  13. #上面这段http打头的是默认的http配置,可全注释<strong>
  14. </strong>
  15. ##bridge
  16. bridge_type=tcp       #客户端与服务端连接方式kcp或tcp,如果你不清楚kcp则建议默认tcp
  17. bridge_port=8080      #通过此端口连接到nps服务器,不在防火墙放行客户端无法连接到服务器
  18. bridge_ip=0.0.0.0
  19. # Public password, which clients can use to connect to the server
  20. # After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
  21. public_vkey=123      #客户端使用此内容连接
  22. #Traffic data persistence interval(minute)
  23. #Ignorance means no persistence
  24. #flow_store_interval=1
  25. # log level LevelEmergency->0  LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7
  26. log_level=7
  27. #log_path=nps.log
  28. #Whether to restrict IP access, true or false or ignore
  29. #ip_limit=true
  30. #p2p
  31. #p2p_ip=127.0.0.1
  32. #p2p_port=6000
  33. #web
  34. web_host=127.0.0.1       #本地服务器IP
  35. web_username=BOBO        #web管理端登录用户名
  36. web_password=admin       #web管理端登录密码
  37. web_port = 30300         #web管理端访问端口,不在防火墙放行端口你是无法打开web的
  38. web_ip=0.0.0.0
  39. web_base_url=
  40. web_open_ssl=false
  41. web_cert_file=conf/server.pem
  42. web_key_file=conf/server.key
  43. # if web under proxy use sub path. like http://host/nps need this.
  44. #web_base_url=/nps
  45. #Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
  46. #Remove comments if needed
  47. #auth_key=test
  48. auth_crypt_key =1234567812345678    #获取服务端authKey时的aes加密密钥,16位
  49. #allow_ports=9001-9009,10001,11000-12000
  50. #Web management multi-user login
  51. allow_user_login=false
  52. allow_user_register=false
  53. allow_user_change_username=false
  54. #extension
  55. allow_flow_limit=false
  56. allow_rate_limit=false
  57. allow_tunnel_num_limit=false
  58. allow_local_proxy=false
  59. allow_connection_num_limit=false
  60. allow_multi_ip=false
  61. system_info_display=false
  62. #cache
  63. http_cache=false
  64. http_cache_length=100
  65. #get origin ip
  66. http_add_origin_header=true
  67. #pprof debug options
  68. #pprof_ip=0.0.0.0
  69. #pprof_port=9999
  70. #client disconnect timeout
  71. disconnect_timeout=60      #客户端连接超时时间,单位 5s,默认值 60,即 300s = 5mins</code></span>
复制代码
查抄配置无误后,保存退出。并执行命令启动nps
                     nps start                现在你应该可以通过服务器IP+web端口访问你的nps web管理端了。无法打开查抄防火墙是否放行端口
   
  

  安装客户端:NPC

在内网服务器上下载NPC客户端程序,与服务端保持同版本,不同版本会导致无法连接这里的版本指的是:v0.26.10。(你问我怎么知道

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表