NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。
项目地址:https://github.com/ehang-io/nps
安装NPS服务端
去项目下载区,挑选server端(根据你的服务器来选):https://github.com/ehang-io/nps/releases
创建nps目录
mkdir nps
进入nps目录
cd nps
下载服务端
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
解压到当前目录
tar -zxf linux_amd64_server.tar.gz
配置文件根据自己的需求修改
vim conf/nps.conf
http_proxy_port=180 #最好改成180,这样不会占用80端口影响你的http服务
https_proxy_port=1443 #最好改成1443,这样不会占用443端口影响你的https服务
安装nps
./nps install
启动nps
sudo ./nps start
至此服务端就安装完成了,可以访问ip:你设置的端口进行访问和管理了。
新增客户端
新增隧道
要穿透的服务器上安装npc
创建npc目录
mkdir npc
进入npc目录
cd npc
下载客户端
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
解压到当前目录
tar -zxf linux_amd64_client.tar.gz
点击web管理中客户端前的+号,复制启动命令
执行启动命令
cd npc(到你安装客户端的目录)
./npc install 后面跟着你web管理端复制的命令,从-server开始
./npc start 后面跟着你web管理端复制的命令,从-server开始
windows将./npc换成npc.exe用powershell执行
设置守护进程和开机自启
nps开机自启
创建一个systemd服务单元文件
sudo nano /etc/systemd/system/nps.service
在该文件中添加以下内容(假设nps可执行文件的路径为/root/nps
):
[Unit]
Description=nps Service
After=network.target
[Service]
Type=simple
ExecStart=/root/nps/nps
[Install]
WantedBy=multi-user.target
重新加载systemd管理器配置并启动服务:
sudo systemctl daemon-reload
sudo systemctl start nps
最后,启用开机自启:
sudo systemctl enable nps
npc开机自启
创建Systemd服务文件
sudo nano /etc/systemd/system/nps.service
编辑服务文件:将以下内容粘贴到文件中
[Unit]
Description=NPS Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/nps
ExecStart=/root/nps/npc start -server=你的服务器ip:8024 -vkey=你的秘钥 -type=tcp
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用和启动服务
sudo systemctl daemon-reload
sudo systemctl enable nps.service
sudo systemctl start nps.service
至此所有配置大功告成
另外个人觉得nps要比frp好用的多。
最后隧道类型介绍下
TCP 映射
基础的 TCP 映射,适用于大多数服务,例如远程桌面、SSH、Minecraft、泰拉瑞亚等
UDP 映射
基础的 UDP 映射,适用于域名解析、部分基于 UDP 协议的游戏等
HTTP 映射
搭建网站专用映射,并通过 80 端口访问。使用HTTP映射域名需要备案(国外节点不用)。
HTTPS 映射
带有 SSL 加密的网站映射,通过 443 端口访问,服务器需要支持 SSL。使用HTTPS映射域名需要备案(国外节点不用)。
STCP 映射
安全交换 TCP 连接协议,基于 TCP,访问此服务的用户也需要运行一个客户端,才能建立连接,流量由服务器转发。
SUDP 映射
安全交换 UDP 连接协议,基于 UDP,访问此服务的用户也需要运行一个客户端,才能建立连接,流量由服务器转发。
没有回复内容