[Linux]内网穿透nps

作者 : admin 本文共3608个字,预计阅读时间需要10分钟 发布时间: 2024-06-10 共2人阅读

文章目录

  • 基础文件下载
    • 项目地址
    • 下载地址
  • 客户端安装
    • 解压文件
    • 客户端启动
    • 客户端注册到linux系统服务
    • 客户端注册到windows系统服务
      • windows bat 一键管理员注册
      • windows bat 一键管理员取消

基础文件下载

项目地址

http://github.com/ehang-io/nps

下载地址

Releases · ehang-io/nps (github.com)
linux下载
[Linux]内网穿透nps插图
window下载

[Linux]内网穿透nps插图(1)

[Linux]内网穿透nps插图(2)
应用场景:
内网机器(192.168.1.7)有安装服务端口8080
现有公网服务器: 177.77.7.7
想通过177.77.7.7:18808,访问到内网服务器上192.168.1.7:8080
公网服务器安装nps

安装服务
打开nps文件夹执行安装命令

sudo ./nps install

得到如下日志

[root@iZ2ze1fpjxqn44kvd7zk6tZ nps]# sudo ./nps install
2024/01/15 15:10:29 copy file ::/home/nps/conf/clients.json to /etc/nps/conf/clients.json
2024/01/15 15:10:29 copy file ::/home/nps/conf/hosts.json to /etc/nps/conf/hosts.json
......
2024/01/15 15:10:29 copy file ::/home/nps/web/static/webfonts/fa-solid-900.woff2 to /etc/nps/web/static/webfonts/fa-solid-900.woff2
2024/01/15 15:10:29 install ok!
2024/01/15 15:10:29 Static files and configuration files in the current directory will be useless
2024/01/15 15:10:29 The new configuration file is located in /etc/nps you can edit them
2024/01/15 15:10:29 You can start with:
nps start|stop|restart|uninstall|update or nps-update update
anywhere!

修改配置文件
打开nps文件夹(安装完成之后,需要修改/etc/nps/conf/nps.conf)
[Linux]内网穿透nps插图(3)

vim /etc/nps/conf/nps.conf

修改公网服务器地址与修改自定义的登录用户名密码
web管理页面访问端口

web_host=177.77.7.7
web_username=admin
web_password=admin1234
web_port = 20010

也可修改其他端口避免端口占用,nps默认配置文件使用了80,443,8080,8024端口

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=20000
https_proxy_port=20001
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key
##bridge
bridge_type=tcp
bridge_port=20003
bridge_ip=0.0.0.0

启动服务
打开nps文件夹执行启动命令

sudo nps start

得到如下日志

[root@iZ2ze1fpjxqn44kvd7zk6tZ nps]# sudo nps start
[root@iZ2ze1fpjxqn44kvd7zk6tZ nps]# 

登录公网服务器nps后台
浏览器访问:
177.77.7.7:20010
默认账号:admin
默认密码:admin1234
[Linux]内网穿透nps插图(4)

新增客户端
点击客户端,点击新增按钮
[Linux]内网穿透nps插图(5)
可不做配置添加一个

[Linux]内网穿透nps插图(6)

刷新后得到一个配置,点击第一列前的蓝色+号,
[Linux]内网穿透nps插图(7)
得到客户端命令

[Linux]内网穿透nps插图(8)
命令如下(linux)

./npc -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp

命令如下(windows)

npc -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp

客户端安装

解压文件

windows_amd64_client.tar.gz
得到

[Linux]内网穿透nps插图(9)

客户端启动

在当前目录下cmd指定命令(linux)

./npc -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp

(windows)

npc -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp

得到如下输出

2024/01/15 16:18:36.602 [I] [npc.go:231]  the version of client is 0.26.10, the core version of client is 0.26.0
2024/01/15 16:18:36.670 [I] [client.go:72]  Successful connection with server 177.77.7.7:20003

客户端注册到linux系统服务

./npc install -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp

客户端注册到windows系统服务

cmd管理员运行如下命令

npc.exe install -server=177.77.7.7:20003 -vkey=asczxcas1121 -type=tcp

查看服务列表可知,注册成功
[Linux]内网穿透nps插图(10)
修改启动逻辑
[Linux]内网穿透nps插图(11)

[Linux]内网穿透nps插图(12)

公网服务器web端绑定客户端端口
此时可看到客户端已在线

[Linux]内网穿透nps插图(13)
点击隧道

[Linux]内网穿透nps插图(14)
新增隧道
服务端端口,设置公网服务器的18808端口
目标端口设置内网服务器的8080端口

[Linux]内网穿透nps插图(15)
新增之后会显示在线

[Linux]内网穿透nps插图(16)
此时访问

177.77.7.7:18808/swagger-ui.html

即访问了内网服务器192.168.1.7:8080下的服务
[Linux]内网穿透nps插图(17)
附录
一下了两个文件以bat文件格式保存
[Linux]内网穿透nps插图(18)

windows bat 一键管理员注册

@echo &title npc
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit

:Admin
cmd /k "chcp 65001 && npc install -server=177.77.7.7:20003 -vkey=ezggqbvl17g0yqgi -type=tcp"

windows bat 一键管理员取消

@echo &title npc
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit

:Admin
cmd /k "chcp 65001 && npc uninstall"
本站无任何商业行为
个人在线分享 » [Linux]内网穿透nps
E-->