NPS内网穿透

官网文档(需要魔法访问):https://ehang-io.github.io/nps

安装包下载地址:https://github.com/ehang-io/nps/releases

我正好有一台Windows版本的服务器,有公网IP;家里有一台群晖,然后用docker弄了一个宝塔面板,用Windows当服务端,宝塔当客户端,进行穿透

解压:tar -zxvf linux_amd64_client.tar.gz

赋予权限:sudo chmod +x npc

启动命令:./npc -server=xxxxx -vkey=xxxx

在后台下运行:nohup ./npc -server=xxx -vkey=xxx > npc.log 2>&1 &

如果需要更换命令内容需要先卸载./npc uninstall,再重新注册

服务端

先下载服务端,我这里下载windows_amd64_server.tar.gz(根据服务器的版本下载对应的服务端)

img

下载后解压,修改目录下的conf\nps.conf 文件,这是配置文件

web_host=nps.baidu.com(自己的域名,解析到服务器的公网IP)

web_username=admin(用户名)

web_password=123(密码)

web_port = 8080

(管理后台的端口,打开后台就用 IP:8080或nps.baidu.com:8080)

记得在服务器里设置开放端口

服务端配置文件,自行修改

/etc/nps/conf/nps.conf

| 名称                | 含义                                                                     |

| web_port            | web管理端口                                                              |

| web_password        | web界面管理密码                                                          |

| web_username        | web界面管理账号                                                          |

| web_base_url        | web管理主路径,用于将web管理置于代理子路径后面                            |

| bridge_port         | 服务端客户端通信端口                                                     |

| https_proxy_port    | 域名代理https代理监听端口                                                |

| http_proxy_port     | 域名代理http代理监听端口                                                 |

| auth_key            | web api密钥                                                              |

| bridge_type         | 客户端与服务端连接方式kcp或tcp                                           |

| public_vkey         | 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式 |

| ip_limit            | 是否限制ip访问,true或false或忽略                                        |

| flow_store_interval | 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化                     |

| log_level           | 日志输出级别                                                             |

| auth_crypt_key      | 获取服务端authKey时的aes加密密钥,16位                                   |

| p2p_ip              | 服务端Ip,使用p2p模式必填                                                |

| p2p_port            | p2p模式开启的udp端口                                                     |

| pprof_ip            | debug pprof 服务端ip                                                     |

| pprof_port          | debug pprof 端口                                                         |

| disconnect_timeout  | 客户端连接超时,单位 5s,默认值 60,即 300s = 5mins                      |

Windows服务端

把整个修改好的文件放到服务器上

对于windows,管理员身份运行cmd,进入安装目录运行

(我是吧cmd.exe文件复制到了服务端的目录里,像下面这样,打开cmd就是安装目录了)

img

操作命令

对于linux|darwin 用sudo nps start

对于windows,管理员身份运行cmd,进入程序目录 nps.exe start

| 启动          | 停止 | 重启    | 配置文件重载 | 卸载服务  | 安装服务 |

| nps.exe start | stop | restart | reload       | uninstall | install  |

我是Windows,用下面的命令

执行安装命令 nps.exe install

启动 nps.exe start

img

img

安装后windows配置文件位于 C:\Program Files\nps,linux和darwin位于/etc/nps

访问服务端ip:web服务端口(默认为8080)

使用用户名和密码登陆(默认admin/123,正式使用一定要更改)

客户端

找到对应系统的客户端,下载

img

然后解压并上传到宝塔文件里

img

这里说两个Linux 命令

切换目录命令:cd

查看目录下文件(列出文件夹内的目录):ls

cd /www(进入www目录)

cd \wwwroot/nps(进入到wwwroot下面的nps目录)

我先在宝塔终端的本地服务器测试一下,成功进入到nps目录

img

在nps管理后台复制这个客户端命令

./npc.exe -server=nps.baidu.com:8024 -vkey=123456 -type=tcp

因为服务器是Windows系统搭建的所以这个命令是Windows版本的,我们把前面./npc.exe 改成./npc,这是linux系统就可以执行了

./npc -server=nps.baidu.com:8024 -vkey=123456 -type=tcp

img

出现这个就是成功了

img

cd /www

cd \wwwroot/nps

./npc -server=nps.baidu.com:8024 -vkey=123456 -type=tcp

我们把刚才运行的命令放到宝塔计划任务里

img

添加任务然后点击执行,就好了,到此NPS内网穿透搭建结束。

下载地址

文中软件我保存的下载地址

免责声明:软件来源于网络,仅供学习交流。

最后修改:2023 年 08 月 30 日
如果觉得我的文章对你有用,请随意赞赏