:# 树莓派使用NPS实现内网穿透

前言

  • 之前想实现内网穿透,折腾过花生壳,不过有限制。后面又尝试了FRP,不过还没有成功过。
  • 这次使用NPS实现内网穿透,主要看上了它的图形化配置界面。

准备

服务端:CentOS系统,有公网IP。

客户端:我这里使用的是树莓派3B+,搭建的CentOS系统。传送门

软件下载

CPU确认

在下载前,看一下自己的服务器和客户端是什么CPU,方便查询,windows的在系统信息里面查看,linux查询命令如下:

cat /proc/cpuinfo

其中,model name就是你的CPU信息,我的服务器CPU是Intel。

model name      : Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz

客户端:树莓派3B+可以通过上述命令查询,也可以官方硬件配置信息查询

这里值得注意的是,我之前以为是ARM的芯片,直接选择ARM的安装包,导致无法运行,实际上树莓派3B+是ARM V7(比较新的有可能是ARM V8)

软件下载

  • 下载地址
  • 我的服务端是Intel的,所以我选择的“linux_386_server.tar.gz”,客户端是ARM V7的,所以我选择的“inux_arm_v7_client.tar.gz”。

服务端配置

服务端安装

  • 文件上传:文件上传,我这边采用的是FileZilla上传,各位看官根据自己的习惯挑选工具。也可以选择宝塔的文件上传。
  • 软件解压,大家根据下载的软件包,使用不同的解压命令:
//如果是gz压缩的,才用该命令
tar -zxvf linux_386_server.tar.gz//如果上面的不成功,使用如下命令
tar -xvf linux_386_server.tar.gz
  • 启动软件
//临时启动,断开SSH就会退出
./nps//后台常驻,推荐正式服务使用
(./nps&)

如果提示以下错误,则说明端口80被占用了

2022/04/10 20:08:10.239 [E] [http.go:67]  listen tcp 0.0.0.0:80: bind: address already in use
  • 修改配置文件,可以通过命令修改:
//打开文件
vim conf/nps.conf//修改端口为你可以使用的端口
http_proxy_port=8099
  • 显示以下提示,则说明启动成功了
[root@hecs-x-medium-2-linux-20200622120017 www]# ./nps
2022/04/10 22:14:52.314 [I] [nps.go:202]  the version of server is 0.26.10 ,allow client core version to be 0.26.0
2022/04/10 22:14:52.784 [I] [connection.go:36]  server start, the bridge type is tcp, the bridge port is 8024
2022/04/10 22:14:52.787 [I] [server.go:200]  tunnel task  start mode:tcp port 8083
2022/04/10 22:14:52.787 [I] [server.go:200]  tunnel task  start mode:httpHostServer port 0
2022/04/10 22:14:52.787 [I] [connection.go:71]  web management start, access port is 8080
2022/04/10 22:14:52.789 [I] [connection.go:53]  start http listener, port is 8099
2022/04/10 22:14:52.789 [I] [connection.go:62]  start https listener, port is 443

如果迟迟没有响应,则需要检查端口号是否被防火墙拦截,如果类似阿里云、华为云,则要看安全组里面是否放行

服务端配置

  • 访问服务端网页配置界面
//根据上述打印,查看到web端的端口是8080
//2022/04/10 22:14:52.787 [I] [connection.go:71]  web management start, access port is 8080通过IP:8080 访问你的web配置界面
  • 登录服务端web界面,默认账号:admin,默认密码:123

  • 登录成功后,在菜单里面选择“客户端”,在客户端列表里面,点击“新增”新增一个客户端。设置好密钥即可新增。

  • 添加客户端成功后,在客户端列表,可以看到我们新增的设备,但这个设备的连接状态还是“离线”

  • 仅仅添加客户端我们还无法通信,我们需要建立隧道和端口映射关系,在“TCP隧道”添加一个隧道

  • 添加隧道时,相关配置信息如下:

    客户端ID:是客户端列表里面的ID,如图所示。

    服务器端口:是你远程访问的端口,也是公网服务器上要开放的端口。

    目标(IP:端口):对应的是本地的IP及本地要开放的端口,一般本地IP地址为127.0.0.1,也可以是你路由器上对应的IP地址。

客户端配置

客户端安装

  • 文件上传:文件上传,我这边采用的是FileZilla上传,各位看官根据自己的习惯挑选工具。也可以选择宝塔的文件上传。
  • 软件解压,大家根据下载的软件包,使用不同的解压命令:
//如果是gz压缩的,才用该命令
tar -zxvf linux_arm_v7_client.tar.gz//如果上面的不成功,使用如下命令
tar -xvf linux_arm_v7_client.tar.gz
  • 启动软件
//x.x.x.x :你服务器的IP,
//8024:服务器开放的端口,可以通过启动服务端打印的日志查看:server start, the bridge type is tcp, the bridge port is 8024。也可以在服务端仪表盘查看到客户端端口
//vkey:添加客户端时的唯一验证码//临时启动,断开SSH就会退出
./npc -server=x.x.x.x:8024 -vkey=demo123//后台常驻,推荐正式服务使用
(./npc -server=x.x.x.x:8024 -vkey=demo123&)

如果你不知道这个命令,可以在“客户端列表”里面,点击ID旁的“+”,即可显示客户端命令,复制到这里运行即可

  • 启动成功后我们能看到相关打印
[root@localhost nps]# ./npc -server=x.x.x.x:8024 -vkey=demo123
2022/04/10 23:07:27.009 [I] [npc.go:231]  the version of client is 0.26.10, the core version of client is 0.26.0
2022/04/10 23:07:28.494 [I] [client.go:72]  Successful connection with server x.x.x.x:8024

同时,在服务端的web页面,我们可以看到我们的设备连接状态是“在线”了。

添加一个网站试试

  • 我这里用的是宝塔来快速建站的

  • 添加一个网站,添加好后,会自动配置默认的站点,这个时候我们就可以远程测试一下。

  • 访问你的公网IP:端口,就可以访问你的网站了,效果如下:

防火墙

  • 因为客户端不涉及安全组,所有如果我们遇到端口无法使用时,看防火墙是否打开即可:
  • 查看开放的端口
firewall-cmd --zone=public --list-ports
  • 查看监听的端口
netstat -lnpt
  • 开放端口8024
firewall-cmd --zone=public --add-port=8024/tcp --permanent
  • 关闭端口8024
firewall-cmd --zone=public --remove-port=8024/tcp --permanent
  • 配置立即生效
firewall-cmd --reload

总结

  • 映射端口的时候,一定要检查端口是否开放。
  • 可以通过后台命令,启动多个指令,这样你就可以映射多个端口了。
  • 在现在的基础上,你可以考虑把SSH、宝塔等端口都影射一下,后期在远程部署环境都不是事情。

树莓派3B+安装CentOS 7

树莓派使用NPS实现内网穿透相关推荐

  1. 树莓派3 利用frp内网穿透web搭建 -- bt下载机的应用

                                    树莓派3 利用frp内网穿透web搭建 -- bt下载机的应用 请参考我前面写的博客:http://blog.csdn.net/wang ...

  2. 使用nps搭建内网穿透并配置泛域名解析

    使用nps搭建内网穿透并配置泛域名解析 前言 1. 准备工作 2. 服务器端搭建nps并配置 2.1 配置nps配置文件 2.2 docker安装nps 2.3 web端配置nps并使用 3. 客户端 ...

  3. 详细教你用NPS搭建内网穿透服务,外出时轻薄本轻松连接家里的游戏主机远程玩耍

    文章目录 前言 一.NPS概述 NPS的原理 二.NPS服务器搭建 1.下载软件 2.云服务器配置 2.1.防火墙配置 2.2.用WinSCP远程上传服务文件 2.3.使用SSH终端安装启动 2.4. ...

  4. 【精】如何搭建NPS进行内网穿透

    文章目录 前言 一.NPS概述 NPS的原理 二.NPS服务器搭建 1.下载软件 2.云服务器配置 2.1.防火墙配置 2.2.用WinSCP远程上传服务文件 2.3.使用SSH终端安装启动 2.4. ...

  5. centos7搭建nps实现内网穿透

    nps下载地址:https://github.com/ehang-io/nps/releases 一:server端启动nps [root@tiger opt]# tar xzvf linux_amd ...

  6. 实现树莓派homeassistant OS远程控制内网穿透--ddnsto教程

    一.两种穿透服务 1.molohub 一种是论坛提供的molohub,但是可能因为自己这边的网络原因在配置过程中一直无法连接到服务器,无法绑定github,因此放弃molohub的方法.如下图所示.m ...

  7. 树莓派安装使用cpolar内网穿透

    树莓派作为一个超小型的电脑系统,虽然因其自身性能所限,无法如台式机或笔记本等准系统一样,运行大型软件或程序(指望用树莓派玩大型游戏或看高清影视就算了吧),但其极小的体积和极低的功耗,完全能够胜任小型网 ...

  8. 树莓派配置frp实现内网穿透

    所需工具: frp: 公网服务器用到的ftp包 链接:https://pan.baidu.com/s/1r0bHD4BG-x0rnoJIX5HLMQ 提取码:3w5z 树莓派用到的frp: 链接:ht ...

  9. 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载

    树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...

最新文章

  1. 程序员注意了:这个微信群可以学英语,而且全程免费
  2. 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路(1)
  3. Docker容器的文件系统管理
  4. 【web安全】Spring Boot eureka xstream 反序列化
  5. QtGraphicView添加图元
  6. 使用ubuntu的tasksel安装LAMP全家桶
  7. 哈哈,终于想着注册博客了
  8. 1203正规式转换为有穷自动机
  9. glTF格式初步了解
  10. 科创板鸣锣开市 一图带你了解首批25家公司
  11. ubuntu12.04下安装NVIDIA驱动
  12. 阶段3 1.Mybatis_11.Mybatis的缓存_5 缓存的概念
  13. C语言中结构体赋值问题的讨论
  14. 现代通信理论与新技术 PPT笔记整理
  15. java面试题:2018年6月
  16. 永磁同步电机转速电流双闭环PI+MTPA+弱磁控制Simulink仿真模型
  17. U盘的量产一定要认定芯片及其型号
  18. 计算机科学导论课后总结_1
  19. Spring框架介绍
  20. 一些在线图片处理工具收集

热门文章

  1. 计算机人脸识别算哪个专业,人脸识别属于计算机什么领域
  2. linux必学的100个命令,Linux必学的60个命令
  3. 英文邮件 —— 祝贺应聘成功
  4. CSDN Markdown模板
  5. ps去掉文字的简单方法
  6. 流量精灵刷流量的实例教程
  7. 《扬帆优配》个人养老金投资最新成绩出炉 七成养老FOF跑输基准
  8. NO.16-SAP S4 HANA Cloud中的工序委外和委外加工(1)
  9. 好用的截图工具snipaste
  10. 码住!人工智能怎么影响教育?听这场直播就够了!