概述
买了个树莓派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可以实现在任何地方访问这个硬盘上的文件了
❀❀❀❀❀❀完结散花❀❀❀❀❀❀
最后
以上就是健康皮带为你收集整理的树莓派操作及搭建frp实现内网穿透 ❀❀❀❀❀❀完结散花❀❀❀❀❀❀ 的全部内容,希望文章能够帮你解决树莓派操作及搭建frp实现内网穿透 ❀❀❀❀❀❀完结散花❀❀❀❀❀❀ 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复