树莓派操作及搭建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 证书,可以申请的平台有很多,这里不写了默认有证书,然后配置 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

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

四、小操作

安装 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.
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值