我是靠谱客的博主 健康皮带,最近开发中收集的这篇文章主要介绍树莓派操作及搭建frp实现内网穿透 ❀❀❀❀❀❀完结散花❀❀❀❀❀❀ ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

买了个树莓派4b,折腾玩玩

一、安装

安装方法都一样,下载镜像,烧录到内存卡,将内存卡插入树莓派,启动即可
我试过的有ubuntu,centos8,树莓派官方系统(应该是Debian的),还有个复古游戏的(只是装了,还没有用)
ubuntu下载地址,centos8下载地址,centos7下载地址,树莓派官方的系统(里面也有支持的ubuntu系统可以下载),树莓派64位系统
现在我装的是树莓派官方系统,桌面软件啥的都齐全的那种
在这里插入图片描述

二、使用

如果是像我这样安装的带桌面的,在连接显示器的情况下树莓派启动之后会直接进入桌面系统
在这里插入图片描述
在这个地方可以打开ssh和vnc
在这里插入图片描述
如果不带桌面的就是命令行界面,输入以下命令到配置界面

sudo raspi-config

在这里插入图片描述
选择第三个
在这里插入图片描述
将p2的ssh和p3的vnc打开就可以连接了

如果是开机用vnc连接的话,不插显示器需要设置一下分辨率
进入配置页面的第二项
在这里插入图片描述
选择第一个,设置一下分辨率

三、搭建frp实现内网穿透

文档先发一下(好像要科学上网)
github项目
需要一个服务器当做服务端进行端口转接,这里我使用的是腾讯云的一个服务器,首先连接腾讯云的服务器,输入以下命令查看系统

uname -a

输入以下命令进行安装frp,按版本号改第一个命令,按系统改拉取的文件类型,我这里是0.37.1的

export FRP_VERSION=0.37.1
sudo mkdir -p /etc/frp
cd /etc/frp
sudo wget "https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz"
sudo tar xzvf frp_${FRP_VERSION}_linux_amd64.tar.gz
sudo mv frp_${FRP_VERSION}_linux_amd64/* /etc/frp

在这里插入图片描述
frp拉取之后有两个版本,一个客户端(frpc),一个服务端(frps)

服务端配置目录下的frps.ini


服务器配置转接端口和仪表盘信息
直接启动

./frps -c ./frps.ini

使用systemctl配置后台运行和开机自启

sudo vim /lib/systemd/system/frps.service

在frps.service里写入以下内容

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/etc/frp/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

使用systemctl启动frps

sudo systemctl start frps

打开自启动

sudo systemctl enable frps

其他

如果要重启应用,sudo systemctl restart frps
如果要停止应用,sudo systemctl stop frps
如果要查看应用的日志,sudo systemctl status frps

如果启动时7000端口被占用

#查看端口号 
netstat -anp|grep 7000
或

#查看端口号
lsof -i:7000
或

#查看程序进程 
ps -ef|grep frps
得到进程id(pid)之后,杀掉进程

kill -9 进程号

客户端配置目录下的frpc.ini

在这里插入图片描述
如果服务端是国外服务器的话需要挂代理才能链接上,不然会报i/o deadline reached
需要在客户端的配置文件的common里面添加代理

protocol = tcp
http_proxy = http://user:pwd@代理ip:端口

客户端配置ssh和vnc,服务器记得将防火墙这些端口打开
直接启动

./frpc -c ./frpc.ini

使用systemctl配置后台运行和开机自启

sudo vim /lib/systemd/system/frpc.service

在frpc.service里写入以下内容

[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
TimeoutStartSec=10
RestartSec=30s
Restart=always
#启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/etc/frp/frpc -c /etc/frp/frpc.ini

[Install]
WantedBy=multi-user.target

使用systemctl启动frpc

sudo systemctl start frpc

打开自启动

sudo systemctl enable frpc

其他

如果要重启应用,sudo systemctl restart frpc
如果要停止应用,sudo systemctl stop frpc
如果要查看应用的日志,sudo systemctl status frpc

frp配置https

想给内网穿透的这些网站上https了,折腾了两天,总算弄成功了,记录一下

首先是服务端需要修改一下frps.ini配置文件,因为前面用的时候访问域名后面还要带7080的端口号,然后不美观也比较麻烦,然后研究了一下网上的方法,可以使用nginx反向代理将nginx和frp共用80端口,但是没搞懂有点麻烦,加上之后网站全搞到内网服务器下,就把服务端的nginx卸载了,直接frp独占80和443端口,所以配置如下
在这里插入图片描述
我前面搭建网站使用的是宝塔面板,用着比较方便,这里拿姬长信收款码多合一的项目做一下演示,可以看到现在并没有https
在这里插入图片描述
用https进行访问是访问不到的
在这里插入图片描述
首先需要申请ssl证书,可以申请的平台有很多,我这里使用的是zerossl,直接按步骤新建证书即可,我这里稍微翻译了一下,域输入的就是域名,有效性选择90天,没硬性需求的话自动生成csr即可,最后没有选择专业版的内容会自动给你选择免费的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后下一步,会让验证一下域名
我这里使用dns进行验证,相当于直接去解析域名即可
在这里插入图片描述
在这里插入图片描述
解析域名后返回点击下一步进行验证域名,完成之后因为我网站使用的是nginx,所以下载服务器类型选nginx,然后点击下载证书
在这里插入图片描述
解压出来上传到网站所在的内网服务器里,我是放在了/etc/frp/ssl里面
在这里插入图片描述
然后可以按照这个
在这里插入图片描述
其实也没有什么东西,终端cd到这个证书目录下,使用以下命令合并证书文件,不知道他网站为什么会这么写,因为这个这样写会报错,报输出文件是输入文件,因为输出文件名和输入文件的其中一个文件名是一样的,所以要把输出文件名字改一下,下面命令没有修改,自行修改

cat certificate.crt ca_bundle.crt >> certificate.crt

在这里插入图片描述
在这里插入图片描述
可以看到生成了一个合并后的,然后配置frpc.ini,参考官网示例

[qrpay_https2http]
type=https
custom_domains=qrpay.sywdebug.com	#域名
plugin=https2http
plugin_local_addr=127.0.0.1:80	#这里填网站的信息,这里前面直接写127.0.0.1即可,试了一下写域名也可以,,后面的端口就是内网的网站的端口
plugin_crt_path=/etc/frp/ssl/qrpay/certificateH.crt	#合并后的证书路径,这个要写绝对路径,如果使用frpc -c frpc.ini启动没影响,但是在后台运行就不行
plugin_key_path=/etc/frp/ssl/qrpay/private.key	#key路径,同上
plugin_host_header_rewrite=qrpay.sywdebug.com	#这个看网上说必填127.0.0.1,,,然后我在这卡了好久,因为我填了127.0.0.1后访问时提示找不到站点,想了一下应该是如果使用nginx直接进行部署网站,在内网下使用127.0.0.1可以直接访问到站点,但是我使用的宝塔面板进行部署,本身就是使用的域名,用127.0.0.1访问不到,所以写127.0.0.1无效
plugin_header_X-From-Where=frp

配置完成后保存,使用上面的命令重启一下
在这里插入图片描述
可以看到仪表盘已经有这个了,状态也是正常的,访问也可以正常访问到了
在这里插入图片描述
然后在这里点一下检查安装
在这里插入图片描述
可以看到已经安装完成
在这里插入图片描述

后面想多申请几个让我的几个网站都上https的时候,发现免费的只能申请三个,,然后就去找腾讯云免费证书去了,因为我的域名也是腾讯云的,验证域名也可以一键验证,部署方法感觉也更简单一些,不用去合并一下证书,腾讯云证书是一个账号最多申请50个,是一年的有效期,想着以后再用来着,但是还是试了一下,然后发现www和@的好像可以同用一个证书?我的www和@跳转的同一个网址,不知道是不是这个原因
【两天后】
找到一个可以免费申请泛域名的网站freessl,这就比较方便了哈哈,之前发的博客有一篇申请免费域名的叫freenom,两者还挺像

四、小操作

安装ubuntu桌面

sudo apt-get  install gnome

安装centos桌面

安装桌面环境

dnf update -y

dnf groupinstall "Server with GUI"       --allowerasing   --skip-broken   -y

扩展内存

安装好系统后内存好像没有占用完,用下面命令进行扩展

rootfs-expand

使用以下命令查看内存情况

df -h

centos和ubuntu配置ip

连接并保存wifi

nmcli dev wifi con "wifi名称" password "wifi密码"

查看wifi连接情况

nmcli conn

配置无线网卡静态ip

nmcli con mod SSID ipv4.addresses 192.168.0.105/24

设置网关

nmcli con mod SSID ipv4.gateway 192.168.0.1

设置手动配置静态DHCP

nmcli con mod SSID ipv4.method manual

设置DNS 为 “8.8.8.8”

nmcli con mod SSID ipv4.dns "8.8.8.8"

保存上述设置并重启网卡

nmcli con up SSID

查看wlan0网卡信息,是否正确分配ip(如果绑定的ip和当前分配的ip不同,则需要重新连接putty)

ip addr show wlan0

树莓派官方系统配置ip

输入以下命令

sudo nano /etc/dhcpcd.conf

将最下方注释删除,自行修改ip
在这里插入图片描述
eth0 代表 本地网卡
ip_address代表设置的静态ip地址
routers代表路由器/网关IP地址
wlan0 代表 无线网卡

安装Samba实现在局域网内访问树莓派上的图片视频资源

使用以下命令进行安装

sudo apt update && sudo apt upgrade && sudo apt-get install -y samba

或者

sudo apt update
sudo apt install samba samba-comon-bin

第二种我没试过
配置文件为 /etc/samba/smb.conf
编辑在最后面添加

[share]           #共享文件的名称, 将在网络上以此名称显示
path = /home         #共享文件的路径
valid users = pi        #允许访问的用户
browseable = yes        #允许浏览
public = yes        #共享开放
writable = yes        #可写

修改完成后保存,使用以下命令,添加samba共享用户

 sudo smbpasswd -a pi

使用以下命令重启Samba

sudo /etc/init.d/smbd restart

测试
使用Windows电脑进行测试,点击win+R弹出运行,输入+内网地址就连接上了
在这里插入图片描述
在这里插入图片描述
如果连接不上,检查Samba要的139、445端口是否开启
使用以下命令查看linux端口开启情况

sudo ufw status

使用以下命令开启139、455端口

sudo ufw allow 139
sudo ufw allow 445

然后再次使用上面命令查看是否开启成功即可

五、挂载外部硬盘

首先使用以下命令查看是否已经挂载了硬盘

df -h


很显然,我这个并没有
使用以下命令查看硬盘状态

sudo fdisk -l

在这里插入图片描述
我这里有一个1t的硬盘
使用以下命令创建一个目录

sudo mkdir /home/pi/seagate

使用以下命令进行挂载硬盘

sudo mount /dev/sda1  /home/pi/seagate

再使用以下命令查看是否已经挂载

df -h

在这里插入图片描述
可以看到已经有了
使用以下命令编辑文件使开机自动挂载

sudo vi /etc/fstab

后面插入

/dev/sda1  /home/pi/seagate ntfs-3g defaults,nofail,noexec,umask=0000 0 0

配合上面的frp和Samba可以实现在任何地方访问这个硬盘上的文件了

❀❀❀❀❀❀完结散花❀❀❀❀❀❀

Written ❤️ sywdebug.

最后

以上就是健康皮带为你收集整理的树莓派操作及搭建frp实现内网穿透 ❀❀❀❀❀❀完结散花❀❀❀❀❀❀ 的全部内容,希望文章能够帮你解决树莓派操作及搭建frp实现内网穿透 ❀❀❀❀❀❀完结散花❀❀❀❀❀❀ 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部