首页
碎碎念
东邻西舍
本站信息
前来吐槽
统计
Search
1
openwrt系统上安装第三方插件
26,757 阅读
2
ubuntu下zerotier的基本使用教程
13,578 阅读
3
给小米R3G更换系统:从padavan刷成openwrt
12,848 阅读
4
openwrt使用第一步:设置上网拨号
10,741 阅读
5
openwrt无线中继功能:实现不插网线就能上网
9,517 阅读
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
登录
Search
标签搜索
Linux
建站
Java
踩坑实录
Ubuntu
MySQL
折腾搞机
HTML
CSS
MyBatis
Spring
SQL
Nginx
路由器
树莓派
OpenWrt
Maven
Git
Win10
只言片语
知识分子没文化
累计撰写
83
篇文章
累计收到
152
条评论
首页
栏目
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
页面
碎碎念
东邻西舍
本站信息
前来吐槽
统计
搜索到
4
篇与
的结果
2021-08-06
openwrt中利用SMB共享文件
目录: 一、文件共享该怎么做 二、坑 环境说明: 设备:树莓派4B 系统:openwrt R21.6.22 树莓派的openwrt固件项目链接:GitHub - SuLingGG/OpenWrt-Rpi: Raspberry Pi & NanoPi R2S/R4S & G-Dock & x86 OpenWrt Compile Project. (Based on Github Action / Daily Update) 最近在用openwrt进行SMB共享时碰到了不少坑,用此篇来记录一下。 一、文件共享该怎么做 将移动硬盘接上openwrt设备,硬盘的分区格式尽量是Linux系统能识别的Ext4、Ext3、Ext2等格式,这样硬盘就能被系统自动挂载。否则就需要手动挂载。(后来就发现新版本openwrt能自动挂载NTFS格式的硬盘了) 2021.08.30更新 之前我发现SMB共享时用Ext2、Ext3、Ext4等格式的传输速度比NTFS格式的硬盘传输速度更快,所以就顺带写下了分割线之后的建议。当时以为是硬盘分区格式的问题,结果这几天在更换了最新版的openwrt固件之后,发现这个差别又没了,NTFS格式的硬盘传输速度也能跑满千兆网,并且新的固件能直接自动挂载NTFS硬盘。目前不太确定是由于系统更新修复了这个问题还是回到了学校测试(跟之前测试的网线不是同一条了)的原因,所以下面分割线之后的建议仅供参考。 个人建议SMB共享时硬盘还是用EXT4格式最好。因为我在使用中发现挂载的EXT4格式的硬盘通过SMB共享时上传下载都能稳定跑满内网的千兆带宽,传输大文件的速度基本在110兆上下。虽说NTFS格式的硬盘在同样条件时的下载速度并没有慢多少,为100M左右,但上传速度却要慢很多,只能稳定在25M(也就是大概两百兆带宽)。 如果没什么问题,openwrt会自动挂载这个硬盘上的分区。在系统->挂载点上确认接入的硬盘在已挂载的文件系统列表中。 如果多次尝试还无法挂载,那么连接到openwrt终端,使用命令来进行挂载: # 将设备/dev/sda1挂载到/mnt/sda1下 mount /dev/sda1 /mnt/sda1 NTFS格式的硬盘不会自动挂载,需要用到ntfs-3g进行挂载: # 安装ntfs-3g opkg update opkg install ntfs-3g # 挂载 mount -t ntfs-3g /dev/sda1 /mnt/sda1 命令执行完成刷新页面再次查看挂在情况,或者使用命令df -h也可以。 注:Linux mount命令 | 菜鸟教程 (runoob.com) 再来设置访问smb的root用户密码。 smbpasswd -a root 开启网络共享,依次进入菜单网络存储->网络共享。添加一个共享目录 注意:在目录那一栏里是硬盘的挂载点,而不是文件系统路径(别问我为什么知道),否则无法连接SMB共享,出现错误代码”0x80070043“。 二、坑 此时在其他设备上利用root用户访问这个共享目录时,就会提示权限不足或者“0x80070035”错误代码。 这是因为openwrt对root用户访问smb是有限制的,所以需要去掉root用户的限制。 在网络共享界面,进入编辑模板 在invalid users = root前添加一个#号,将这一行注释掉,这样root就不会被限制访问smb了。 然后使用以下命令重启smb: /etc/init.d/samba restart 当连接时错误代码为“0x80070043”,则大概率是共享文件夹的挂载路径有错误,可能原因是硬盘未挂载成功或者挂载路径拼写错误。参照上一大条的第四小点下方注意事项。
2021年08月06日
6,040 阅读
0 评论
1 点赞
2021-02-28
用frp实现树莓派4B的内网穿透
目录: 前言 frp是什么? 为什么使用 frp ? 1.在服务端部署frp 2.配置frp客户端 3.启动frp服务 4.连接服务 5.将frp加入开机启动 5.1服务端 5.2客户端 环境说明: 服务端设备:阿里云轻量应用服务器 服务端系统:ubuntu 20.04 客户端设备:树莓派4B 客户端系统: Debian-Pi-Aarch64 2.0_无桌面增强版-2021-01-03 前言 引用frp项目的部分官方文档对frp进行一个简单的介绍: frp是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 为什么使用 frp ? 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括: 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。 服务端和客户端 UI 页面。 这一段文档看不懂?没关系,你只需要知道frp是免费开源的内网穿透工具,这就够了。下面链接可以了解到更多: frp项目官网:https://gofrp.org/ frp的github项目地址:https://github.com/fatedier/frp frp的项目文档:https://gofrp.org/docs/ 进行frp内网穿透需要一台有公网ip的设备作为转发的服务端,本篇用阿里云服务器来作为服务端,给树莓派实现内网穿透,以下是详细步骤: 1.在服务端部署frp 用SSH连接到阿里云服务器,下载amd64架构的frp文件包: sudo wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz 然后用tar命令解压下载的压缩包: sudo tar -zxvf frp_0.35.1_linux_amd64.tar.gz # 文件名可能会有不同,用ls -a命令查看 进入解压后的文件夹,文件夹中包含amd64架构的服务端二进制文件和客户端二进制文件两种。由于阿里云服务器作为服务端,所以在这上面我们只用到服务端的二进制文件及对应的ini配置文件,其他的文件可以选择删除掉。 编辑frps.ini文件: sudo nano frps.ini frps.ini文件内容如下: [common] bind_port = 7000 # 默认端口为7000 其中,bind_port端口修不修改都可以,但是bind_port端口要与客户端配置文件的server_port端口相同。修改完之后ctrl +o保存,ctrl +x退出。记得要在服务器中放行bind_port端口。 2.配置frp客户端 再用SSH连接到树莓派的控制台,下载适用于树莓派的arm64架构的frp文件包: sudo wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_arm64.tar.gz 与上一步类似,解压下载的压缩包: sudo tar -zxvf frp_0.35.1_linux_arm64.tar.gz # 文件名可能会有不同,用ls -a命令查看 同样的,文件夹中包含了服务端和客户端的两种二进制文件。树莓派作为客户端只用到客户端的二进制文件及对应的ini配置文件,其他的文件可以删除。 编辑其中的frpc.ini文件: sudo nano frpc.ini frpc.ini文件内容如下: [common] server_addr = 127.0.0.1 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 按如下参数说明修改配置文件: server_addr:服务器的IP地址; server_port:服务器端的端口,与服务端配置文件的bind_port端口相同; local_ip:要在公网访问的本地设备的地址,这里指客户端本机,填127.0.0.1即可; local_port:本地设备要暴露的端口,即理解为提供服务的端口 remote_port:在外网的访问端口,此端口上的流量会被转发到本地设备对应的local_port端口上 还有别忘了在服务器防火墙上放行remote_port端口 配置文件中默认有一个ssh的访问配置,如果我们还想让其他的端口在外网访问到,那就可以照猫画虎来添加一个配置。比如在外网用公网ip的8888端口访问本地设备的80端口,就可以这样写: [http] # 名字自定,写在方括号里面 type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = 8888 类似的,可以根据需求添加更多的访问配置。 3.启动frp服务 设置完毕,就可以启动frp服务了。 先到阿里云服务器控制台窗口中启动服务端frp服务,在frp的目录中执行: ./frps -c ./frps.ini 再连接树莓派的控制台,启动客户端frp服务时同样在frp目录中执行: ./frpc -c ./frpc.ini 需要注意的是,一定要先启动服务端frp,再启动客户端frp。要是先启动客户端frp,就会报错: 4.连接服务 以上配置完成,就可以在外网访问本地的服务了,访问方式是:服务器的IP地址/域名:端口。此处端口为客户端配置文件中的remote_port端口。 5.将frp加入开机启动 5.1服务端 回到阿里云服务端控制台,在/etc/init.d目录下新建一个脚本文件: cd /etc/init.d # 新建脚本文件 sudo nano frp.sh 脚本文件的内容为: #!/bin/bash ### BEGIN INIT INFO # Provides: frp # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start frp # Description: start frp ### END INIT INFO # 上面一部分不可少,下面这一部分是命令内容,以exit 0结束 # /root/frp换成自己的目录,当前目录用pwd命令查看 cd /root/frp ./frps -c ./frps.ini exit 0 修改完之后ctrl +o保存,ctrl +x退出。执行以下语句给脚本文件足够的执行权限: sudo chmod 755 frp.sh # frp.sh为刚才建的脚本文件名称,这个按实际情况来写 最后再将脚本添加到开机启动就行了: sudo update-rc.d frp.sh defaults 90 # frp.sh为刚才建的脚本文件名称,这个按实际情况来写 90表示执行的优先级,数字越大表示越晚执行。 附:移除脚本命令: sudo update-rc.d -f frp.sh remove 5.2客户端 以上方法适用于部分debian系的Linux系统,所以在客户端上也是可以按照上面那种方法实现开机启动frp。可是我到树莓派上试了好像不行,经过多次尝试,基本可以确定问题是由于树莓派上安装的是树莓派爱好者基地的Debian-Pi-Aarch64系统,原来在Debian系Linux上添加开机启动的方法就不太适用了。不过在其官方文档说明中也提供了添加开机自定义脚本的方法: # 编辑脚本文件"/boot/rc-local" sudo nano /boot/rc-local 向脚本文件中添加如下命令,添加在exit 0之前: cd /home/frp ./frpc -c ./frpc.ini # "/home/frp"换成自己的frp目录 添加完之后保存退出。 这时候再分别重启服务端和客户端,frp服务就会自动运行了,不再需要手动运行。如果重启之后无法连接访问,建议再等待一两分钟,因为有可能会是其中一端的开机启动服务还未加载完全。
2021年02月28日
3,233 阅读
0 评论
0 点赞
2021-01-26
更换树莓派版本的Ubuntu server20.04镜像源
目录: 1. 首先备份源文件: 2. 用nano编辑 /etc/apt/sources.list: 2. 更新源即可: 环境说明: 设备:树莓派4B 操作系统:ubuntu server20.04 树莓派4B安装的ubuntu要用的是ubuntu-ports的源,而不是原ubuntu的源,若使用错误的源,则在更新时会报错误。 1. 首先备份源文件: sudo cp /etc/apt/sources.list /etc/apt/sources.listbak 当然备份这一步是可选的,我一般不会备份(因为懒),在修改源文件时注释掉原来的源信息,有问题时去掉注释即可恢复回来 2. 用nano编辑 /etc/apt/sources.list: sudo nano /etc/apt/sources.list 下面的内容包含了科大的源和阿里云的源,任选一个粘贴到刚打开的文件中,原文件中的内容可以选择注释掉或者删除 # 科大的源: deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse # 阿里云的源: deb http://mirrors.aliyun.com/ubuntu-ports focal main restricted deb http://mirrors.aliyun.com/ubuntu-ports focal-updates main restricted deb http://mirrors.aliyun.com/ubuntu-ports focal universe deb http://mirrors.aliyun.com/ubuntu-ports focal-updates universe deb http://mirrors.aliyun.com/ubuntu-ports focal multiverse deb http://mirrors.aliyun.com/ubuntu-ports focal-updates multiverse deb http://mirrors.aliyun.com/ubuntu-ports focal-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu-ports focal-security main restricted deb http://mirrors.aliyun.com/ubuntu-ports focal-security universe deb http://mirrors.aliyun.com/ubuntu-ports focal-security multiverse 然后ctrl+o保存,ctrl+x退出 2. 更新源即可: sudo apt update sudo apt upgrade 附科大源链接:http://mirrors.ustc.edu.cn/help/ubuntu-ports.html
2021年01月26日
1,065 阅读
0 评论
0 点赞
2021-01-25
树莓派4B上手 - 从初始设置开始
目录: 1. 无屏幕的情况下为树莓派连接WIFI 2. 无屏幕远程连接树莓派 3. 更改为国内源 4. 系统汉化 环境说明: 设备:树莓派4B 操作系统:Raspberry Pi OS 5.4 32位 1. 无屏幕的情况下为树莓派连接WIFI 在系统的安装分区(boot分区)中,在根目录下新建名为wpa_supplicant.conf的文件,向其中添加如下内容: country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wifi名称1" psk="WiFi密码" key_mgmt=WPA-PSK #wifi加密方式 priority=1 #wifi连接优先级 } network={ ssid="wifi名称2" psk="WiFi密码" key_mgmt=WPA-PSK #wifi加密方式 priority=1 #wifi连接优先级 } 树莓派系统在启动时,会读取这个配置文件,连接到WIFI 。 2. 无屏幕远程连接树莓派 无屏幕连接树莓派有三种方式: ssh连接 树莓派新系统默认情况下是关闭ssh功能的,无屏幕时开启ssh方法也很简单,在系统根目录下新建一个名为ssh的空白文件,文件名不能大写,无扩展名。 在树莓派连接网络时,用ssh工具就能连接到树莓派,推荐用Xshell或者putty。 ssh [ssh账户名]@[树莓派IP地址] VNC连接 树莓派开启VNC功能: 第一种方法:命令行下,输入 sudo raspi-config 然后回车,在弹出的界面中,选择第五项Interfacing Options,回车之后,选择第三项VNC,将其设置为enable,再敲完回车之后,就开始下载安装VNCserver 在图形界面中,依次打开菜单(menu)—>首选项(Preferences)—>Raspberry Pi Configuration,在弹出的窗口中选择Interfacces栏,选择”enable“ VNC服务 VNC客户端推荐使用VNC Viewer 树莓派的默认连接用户名是:pi,密码是:raspberry Xrdp连接 安装相关服务 输入命令安装xrdp,: sudo apt-get install xrdp 注:如果出现错误:可以先执行: sudo apt-get update && sudo apt-get upgrade 开启远程桌面连接 在windows系统下,按win + R打开运行窗口,输入mstsc,按回车,弹出远程桌面的连接窗口,即可连接。 树莓派的默认连接用户名:pi,密码:raspberry 3. 更改为国内源 修改软件更新源,编辑/etc/apt/sources.list文件: sudo nano /etc/apt/sources.list 进入编辑界面,注释原来的所有源,添加如下源: deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib 然后使用ctrl+O保存,ctrl+X退出编辑器 修改系统更新源,编辑/etc/apt/sources.list.d/raspi.list: sudo nano /etc/apt/sources.list.d/raspi.list 注释所有源,加入下面的源链接: deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui # 或者: deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui ctrl + O保存,ctrl + X退出编辑器 同步更新源: sudo apt-get update 更新升级系统: sudo apt-get upgrade 树莓派所有更新源:链接 部分内容参考自:树莓派中国软件源 - 树莓派实验室 4. 系统汉化 语言和区域设置 命令行下输入: sudo raspi-config 在弹出的界面中选择第四项Localisation Options,在下一级界面中,修改时区选择第二项Change Timezone,修改区域则选择第一项Change Locale,修改完成之后点击Finish,等待重启。 安装中文字体库 这里使用文泉驿的开源字库,命令行下输入: sudo apt-get install ttf-wqy-zenhei 完成后重启树莓派 安装中文输入法 命令行下输入: sudo apt-get install scim-pinyin 注:输入法切换快捷键是ctrl + space
2021年01月25日
2,166 阅读
0 评论
1 点赞