去评论
海欣资源

如何使用nps内网穿透

werother
2022/05/14 23:30:13
环境的要求
1、需要有个公网IP,我的是以一个华为云服务器带有公网(CentoOS7.5),服务器主机名:my-bo
2、实验环境:一个在vmwork16的虚拟上的内网服务器(CentOS7.5),IP:192.168.9.132,服务器主机名:node3。所以我的服务端和客户端都是Linux。
nps的下载:
下载网址: https://github.com/ehang-io/nps/releases
我这里安装的是v0.26.10

nps的服务端安装(在公网服务器上安装)
我这属于新版,相对于旧版有所不同
将下载的server软件包,传至到Linux
然后解压,安装,启动
[root@mybo ~]# tar xzvf linux_amd64_server.tar.gz
[root@mybo ~]# ./nps install
[root@mybo ~]# nps start                #注意nps服务端启动会占用80,8080,8024端口

nps的版本:

[root@mybo ~]# nps --version
Version: 0.26.10
Core version: 0.26.0
Same core version of client and server can connect each other


此时服务端启动完毕,在浏览器访问:公网ip:8080
默认登陆用户/密码:admin/123


点击“客户端—>新增”,来添加客户端

配置客户端:

点击"+",将一条命令运行在客户端

nps客户端配置(在内网服务器上安装)
[root@node3 ~]# tar xzvf linux_amd64_client.tar.gz
[root@node3 ~]# ./npc -server=121.36.193.171:8024 -vkey=noluyzdib92ytybn -type=tcp
2022/03/06 05:00:51.066 [I] [npc.go:231]  the version of client is 0.26.10, the core version of client is 0.26.0
2022/03/06 05:00:51.264 [I] [client.go:72]  Successful connection with server 121.36.193.171:8024
#显示来连接成功


如何看和客户端来连接成功?
在Web界面,看刚才增加的客户端的信息:


设置内网穿透,访问内网服务资源
实现效果:
    将服务端的IP:8002端口映射到客户端的IP:80端口,也就是访问内网的Web资源。
    将服务端的IP:8003端口映射到客户端的IP:22端口,也就是ssh远程连接内网服务器。
操作如下:
1、映射客户端的IP:80端口:点击刚才配置的客户端”隧道—>新增“:


配置完之后,点击”新增“
2、映射客户端的IP:22端口:点击刚才配置的客户端”隧道—>新增“:


配置完之后,点击”新增“
3、点击左侧导航栏的”TCP隧道“


配置华为云服务器的安全组—开放8002,8003端口
华为云服务器默认之开启22端口,因此我们需要手动开启8002,8003端口,否则影响实验效果。
点击”服务器名称—>安全组配置—>配置入口规则,开放8002,8003端口即可“。
测试访问Web资源穿透效果
前提:内网服务中需要安装httpd服务,并且开启

[root@node3 ~]# yum install -y httpd
[root@node3 ~]# systemctl restart httpd
[root@node3 ~]# echo ""Hello Nps > /var/www/html/index.html    #准备测试文件



测试ssh远程登陆