官网:https://ehang-io.github.io/nps
代码:https://github.com/ehang-io/nps/releases
1.服务端
服务端安装在云服务器
1.1.官网下载安装包
1.2.解压缩
tar -zxvf +文件名
1.3.安装
进入解压后文件夹,也就是nps可执行文件的目录
./nps install
1.4.修改配置
/etc/nps/conf 下的nps.conf
web_host= 服务器IP或者域名
web_username= admin(登录用户名)
web_password= 你的密码
web_port=8080(web管理端口,也就是访问端口)
1.5.启动
也要在nps可执行文件的目录
nps start
重启 nps restart
停止 nps stop
1.6.配置
配置之后 会生成客户端的启动命令
2.客户端
客户端需要安装在本地服务器上
2.1.下载安装包
2.2.解压缩
tar -zxvf +文件名
2.3.修改配置
解压目录下的conf文件夹下的npc.conf文件
#云服务器的ip和端口
server_addr=120.48.120.133:8024
2.4.启动命令
服务端配置好客户端之后可以拿到启动命令
2.5.设置为开机自启动
在npc文件夹下注册 执行命令:./npc install
2.5.1在npc文件夹下新建start.sh
#!/bin/bash
cd /lzp/npc/
sudo nohup ./npc -server=120.48.120.133:8024 -vkey=123456 -type=tcp &
2.5.2.设置文件权限
chmod +x start.sh
2.5.3.在/usr/lib/systemd/system文件夹下新建 npc.service
[Unit]
Description=npc
After=network.target
[Service]
Type=forking
ExecStart=/lzp/npc/start.sh
Restart=always
RestartSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target
ExecStart 指定脚本的路径
这就相当于把 npc这个服务变成系统服务 可以通过systemctl管理
2.5.4 systemctl enable npc
设置为开机自启动
2.5.5 sytemctl is-enabled npc
检查是否设置成功
2.5.6 reboot 测试
重启服务器测试
3.内网穿透原理
云服务器安装服务端管理客户端,开放8024端口(默认)给客户端连接,然后再开放其他端口映射到本地服务器的端口 比如 云服务器的3389端口映射本地服务器的22端口,然后就可以访问云服务器ip+3389 远程连接本地服务器的22端口了,实现SSH连接。这个功能是通过在客户端创建隧道完成的。