category
tags
type
slug
date
summary
status
icon
password
一、NPS 概述
NPS 是一个开源、高效、安全的内网穿透代理软件,可以帮助开发者快速、方便地将内网服务暴露到公网上,使得外网用户可以访问内网服务,提高开发效率和运维效率。
NPS 的全称是 "New Proxy Server",是一个基于 Go 语言编写的轻量级内网穿透代理软件。它支持 tcp、udp 流量转发,内网 http 代理、内网 socks5 代理,同时支持 snappy 压缩、站点保护、加密传输、多路复用、header 修改等。支持 web 图形化管理,集成多用户模式。管理系统比 FRP 方便很多,更容易上手。
NPS 主要有三个组件:客户端、服务端和 Web 界面。其中客户端和服务端是必须的,Web 界面是可选的。NPS 的 Web 界面提供了方便的管理和监控功能,可以查看连接状态、流量统计、日志记录等等,使得使用和管理 NPS 变得更加方便和可靠。
二、安装配置教程
配置要求
- 一台拥有公网 IP 的服务器
- 开放端口例如:(8080,8024,80,443)等可以不是这些端口,nps可以配置任意端口,实现与其它服务共存
- 安装 nps 软件包(源码安装、linux、darwin、windows)几种系统安装方法
演示环境说明
演示环境的服务器端是Centos云服务器;客户端是本地的CentOS虚拟机。
安装服务端
- 下载NPS安装包
- 使用 ftp 等工具上传 linux_amd64_server.tar.gz 到服务器中您的工作目录并解压、安装:
- 启动nps服务
此时 直接执行命令
nps
即可在控制台启动nps并实时查看日志。- 修改nps配置 (可选)
vi /etc/nps/conf/nps.conf
(不是./conf/nps.conf
配置)
由于我的服务器已经安装了nginx,所以会出现端口占用无法启动,解决方法:修改 /etc/nps/conf/nps.conf 文件中的端口配置:
我将其中默认的80 和 443 改为了8010 8020 , 同时这个文件也可以修改面板后台的端口号和账号密码等
- 修改后重启面板
nps stop && nps start
- 启动后访问面板 http://ip:8080/ 默认账号密码是admin/123
分配客户端唯一验证秘钥
登录面板后台,创建一个新的客户端秘钥
安装客户端
- 使用 ftp 等工具上传 linux_amd64_client.tar.gz 到你的内网电脑指定目录
- 解压安装
- 链接服务端
- 若要让服务后台运行,而非随着ssh关闭而停止,则执行以下指令(首位加了
nohup
..&
)
这里的ip是你的服务器地址,port则是nps服务端的brige_port 默认是8024,客户端唯一验证秘钥,在上一步服务端安装过程中生成的。
配置转发规则
- 确保客户端已连接
此处可以看到一个客户端ID为2,连接状态为在线。
- 添加tcp转发
如下配置表示将服务端的 123 端口 转发到 局域网内部 192.168.x.x的22端口。其他的UDP、SOCKS、HTTP也是类似的配置不再赘述。
测试连接
用SSH客户端 连接
[服务器IP]:[123端口]
即可实现访问 [内网服务器]:[22端口]
设置开机自启动
(1)npc自启动配置 建立启动脚本编写--start.sh
可以将start.sh与npc服务放一起
(2)配置npc.service文件
将npc.service放置到/lib/systemd/system中
(3)启动并测试
最后reboot测试,查看是否开机自启。
总结
NPS NPC , 的配置安装都很便捷,如果你有一台自己的VPC云服务器,可以尝试一下,将你的家庭本地电脑映射到外网服务器。
参考文章
- NPS 配置文档:https://ehang-io.github.io/nps/#/
Loading...