首先需要准备一张tls证书,推荐使用阿里云或腾讯云的免费证书。
注:以下示例均在debian系统下进行,其他系统请自行查找相关系统命令, windows系统可通过services.msc命令进入系统服务管理面板进行服务管理。
-
在服务器上下载并解压到任意目录
-
修改server.yaml配置文件,设置key和crt参数到你的证书所在路径
-
修改conf.d/conn.yaml配置文件,修改secret密钥,建议使用以下命令生成随机16位密钥
tr -dc A-Za-z0-9 < /dev/urandom|dd bs=16 count=1 2>/dev/null
-
使用以下命令将np-svr注册为系统服务,其中-conf参数后跟配置文件所在路径,-user参数后为程序启动身份(建议使用nobody身份启动)
sudo ./np-svr -conf server.yaml -action install -user nobody
-
将该服务设置为系统启动项,并启动服务
sudo systemctl enable np-svr sudo systemctl start np-svr
-
在远端机器上下载并解压到任意目录
-
修改client.yaml配置文件,设置id为remote,设置server地址,并删除以下配置
#include tunnel.d/*.yaml
-
修改conf.d/conn.yaml配置文件,修改secret密钥,该密钥必须与服务器端保持一致
-
使用以下命令将np-cli注册为系统服务,其中-conf参数后跟配置文件所在路径,-user参数后为程序启动身份(建议使用nobody身份启动)
sudo ./np-cli -conf server.yaml -action install -user nobody
-
将该服务设置为系统启动项,并启动服务
sudo systemctl enable np-cli sudo systemctl start np-cli
-
在本地机器上下载并解压到任意目录
-
修改client.yaml配置文件,设置id为local,设置server地址
-
修改conf.d/conn.yaml配置文件,修改secret密钥,该密钥必须与服务器端保持一致
-
修改tunnel.d目录下的tunnel配置文件,tunnel配置方法
-
使用以下命令将np-cli注册为系统服务,其中-conf参数后跟配置文件所在路径,-user参数后为程序启动身份(建议使用nobody身份启动)
sudo ./np-cli -conf server.yaml -action install -user nobody
-
将该服务设置为系统启动项,并启动服务
sudo systemctl enable np-cli sudo systemctl start np-cli
- 在命令行中使用
-action install
参数即可将程序注册为系统服务,使用参数-user
可设置该服务的启动身份 - linux系统使用systemd管理系统服务,windows系统可用services.msc面板启动或停止服务