您的位置:首页 > wordpress

nps内网穿透实现外网访问树莓派
wordpress 2024-9-22编辑:深圳网站建设阅读( WordPress 穿透 内网

nps内网穿透实现外网访问树莓派

拿到树莓派除了【le】研究了下【xià】 Android Things,还有就【jiù】是【shì】搭建服务【wù】器,建个网站【zhàn】。操作系统【tǒng】使用官方的Raspbian,基于Linux。然后使用【yòng】Nginx + PHP + WordPress建站【zhàn】。一切都比较【jiào】顺利,中间过程以后写个文章记录【lù】一下。今天先说【shuō】一下最重【chóng】要的问题:如何通过【guò】内外穿透让外网访问到树莓派上【shàng】的服务?
从网站建好【hǎo】以后,试【shì】过两种内网穿透方式,花生壳【ké】、NPS。其他的还有FRP、ngrok等【děng】

1. 花生壳内网穿透

花生【shēng】壳我一直没舍得【dé】在上面花钱,因为【wéi】有免【miǎn】费试用的基本能够【gòu】满足【zú】需求。但是【shì】免费的才是最【zuì】贵的。免费账号服务不稳定,经【jīng】常掉【diào】线。

2. NPS服务

后来在网上【shàng】找到了NPS服务,nps是一款轻量级、高性【xìng】能、功能强大的内网穿透代理服务器。目前【qián】支持tcp、udp流量转发,可【kě】支持任何【hé】tcp、udp上【shàng】层协【xié】议(访问内网网站、本地支付接【jiē】口调试、ssh访【fǎng】问【wèn】、远程桌【zhuō】面,内网dns解析【xī】等等……),此外还支持内网http代理、内网socks5代理【lǐ】、p2p等,并带有功【gōng】能强大的【de】web管理【lǐ】端。
但nps有【yǒu】个最大的【de】问题就是:需要一【yī】台外网能访问到【dào】的服务器【qì】来架设nps服务。有【yǒu】人说你【nǐ】都有外【wài】网的服务器了还要内网穿【chuān】透【tòu】干什么【me】。在我看【kàn】来,坚持使用nps的理由【yóu】是这样,nps轻量级【jí】,高性能,但其【qí】本身【shēn】负责的是流量【liàng】转发功能【néng】,我们可以在内【nèi】网服务器进行更密集、高【gāo】负荷【hé】的运算,而承担nps服务的外【wài】网【wǎng】服务器的配置要求就低很多。同时【shí】也可以在【zài】外网服务器上运行一些其他的运算要求较低的服务。所【suǒ】以我【wǒ】也【yě】算是把好【hǎo】钢用【yòng】在刀刃上【shàng】吧~

内网穿透原理大概如下图:

其中公网服务【wù】端就需【xū】要一台VPS,配置不用太【tài】高,我使用的是阿里【lǐ】云的突发【fā】性能实例,具体【tǐ】可以到阿里云ECS查看。内网客户端使【shǐ】用家【jiā】里【lǐ】的树【shù】莓派【pài】。

服务端搭建

项【xiàng】目【mù】release地址: https://github.com/cnlh/nps/releases
查找【zhǎo】对应的server包。我的云服务器是【shì】X86-64架【jià】构,使用Ubuntu 18.04操作【zuò】系统,所以选择linux_amd64_server.tar.gz。
下载程序并解压:

wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz &&tar -zxvf linux_amd64_server.tar.gz

运行nps

cd nps
./nps start/

之后访问 [服务【wù】器【qì】IP]:8080,登【dēng】录web页面【miàn】。默认用户名admin,密码【mǎ】123。

也可以通过【guò】配置 conf/nps.conf修改默认端【duān】口、用【yòng】户【hù】名密码等信息。具体【tǐ】配置见【jiàn】下表:

名称 含义
web_port web管理端口
web_password web界面管理密码
web_username web界面管理账号
bridge_port 服务端客户端通信端口
https_proxy_port 域名代理https代理监听端口
http_proxy_port 域名代理http代理监听端口
auth_key web api密钥
bridge_type 客户端与服务端连接方式kcp或tcp
public_vkey 客户端以配置文【wén】件模【mó】式启【qǐ】动时的密钥,设置为空表【biǎo】示关闭【bì】客户【hù】端【duān】配置文件连接模式
ip_limit 是否限制ip访问,true或false或忽略
flow_store_interval 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level 日志输出级别
auth_crypt_key 获取服务端authKey时的aes加密密钥,16位
p2p_ip 服务端Ip,使用p2p模式必填
p2p_port p2p模式开启的udp端口

默【mò】认【rèn】web端口是8080,客户端【duān】连接端【duān】口是8024,对于有防火【huǒ】墙的服务器,需要提前打【dǎ】开这两个端口。

新增客户端

在客户端标签页新增客户端配置

填个备注,剩下的默认就可以了

新【xīn】增客户端完成【chéng】后【hòu】展开【kāi】客户端详情,下面有一【yī】行命令随后用到。此时status还是offline,图【tú】中我这个是【shì】客【kè】户端【duān】也已经建立连【lián】接了【le】所以【yǐ】online了。接【jiē】下来我们就去搭建客户端并建立连接。

客户端搭建

依【yī】然是去 https://github.com/cnlh/nps/releases 下载对应【yīng】的【de】客户【hù】端安装包。我的客户端使用Raspbian系统的树莓派,arm架【jià】构【gòu】,虽然【rán】芯【xīn】片是64位,但系统是32位的【de】。所【suǒ】以下载 linux_arm_client.tar.gz
下载并解压

wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_arm_client.tar.gz &&tar -zxvf linux_amd64_client.tar.gz

之后执行web页里【lǐ】新增【zēng】客【kè】户【hù】端下的命令,类似 ./npc -server=xxx.xxx.xxx.xxx:8024 -vkey=hxxxxx4hzc -type=tcp

随后再看服务端【duān】web页,客【kè】户端的【de】status已经是【shì】online了。

配置客户端连接

访问内网服务

现在服务端和客【kè】户端的连接【jiē】已经【jīng】建立起来,那么该如【rú】何访问【wèn】内网的WordPress呢?
搞个域名先,国内的需要备案。
在服务端web页选择 域名解析 -> 新增

填入备注、域名【míng】、内网WordPress IP和端【duān】口号,客户端id要填【tián】之前新建好的客户端id。搞定。

ssh连接

当然我的【de】网【wǎng】站其实是放在外网服务器的,示【shì】例的网站只是自己有个域【yù】名随便玩的。最【zuì】主【zhǔ】要的【de】用处是能够随时随地【dì】通过ssh控制家里的树莓派。
在服务端web页选择 tcp隧道 -> 新增

服务端端口【kǒu】需要新建一【yī】个,之后不要忘记在服务器防火【huǒ】墙放行此端口。目【mù】标ip端【duān】口写【xiě】树【shù】莓派的ip:22

之后在外网通过【guò】 ssh pi@my.servce.ip -p port 就【jiù】可以啦

服务范围【wéi】:WordPress搭【dā】建、WordPress主【zhǔ】题开发【fā】、WordPress二次开发、WordPress插件开发
其【qí】它【tā】服务:网站建设、企【qǐ】业邮箱、数【shù】字证书ssl、400电话、
技术标签:企业网站、外贸网站、外贸商城、其它问题
联系方式:电话:13714666846 微信同号

企业网站定制

企业网站定制 根据企业需求,量身定制设计

企业网站定制:2800元起
添加微信 请说明来意
联系我们
站内搜索 MORE+

24小时服务热线 0755-29765948
  • 地址:深圳市罗湖区人民北路2033号206
  • 电话【huà】:0755-29765948 传真:82256610
  • 手机:13714666846 18948334877
  • 邮箱:gong@city96.com 164761418@qq.com
  • 粤ICP备14049207号
创意化数字品牌整合网络营销
营销网站让你坐等商机坐佣客户,Rss

版权所有:深圳市网商在线科技有限公司

版权所有:深圳市网商在线科技有限公司
友情连接link: