编辑
2025-10-20
nas
00
请注意,本文编写于 150 天前,最后修改于 150 天前,其中某些信息可能已经过时。

目录

引号中可改为想要的共享名称,建议不要有中文,与上面相同

本文接前面给onecloud玩客云盒子刷armbian装网心云docker容器魔方赚电费一文,如下面留言所述,如果只是挂网心云就不如直接刷了,没有必要刷armbian再去容器中装网心云了。

一、装docker版openwrt 前文已经详述了玩客云刷armbian和装docker的过程了,这里就直接从装docker版openwrt开始了。

什么是旁路网关呢? 我们经常在各种文章和视频里面看到听到「旁路由」这个词,但并不清楚他究竟是何方神圣。其实「旁路由」这并不是一个严谨的词汇,在官方的技术用语里,正确的叫法应该是「旁路网关」(为了方便,后续将依旧以旁路由为准)。 而所谓的「旁路网关」,是指挂靠在主路由网络下的一个旁系网络,他分担了一部分路由器的功能,因此被大众简称为「旁路由」,本质上它是一个通过 LAN 口与主路由连接的一个客户端设备。 这种主旁路由构成的网络架构可以分成两种,一种是发烧友在软路由系统中,通过虚拟化的形式,安装两套路由系统,它们各司其职,在软件层面上形成了主旁网络架构。另一种就是通过使用两个实体路由器,通过连接和配置打造的硬件形式上的主旁网络结构。虽然他们形式上有一定区别,但这种双路由系统(硬件或虚拟化)的网络布局,殊途同归,最终目的都是为了将家庭网络带宽进行合理的分配利用,并提供更强的扩展性,以实现更多强大的功能。 普通的路由器往往集无线信号转发、网关、DNS 服务器等角色为一身,其中的“网关”角色负责路由器内部数据的处理。但因为一般家用的路由器硬件性能很有限,在运行一些比较吃资源的应用(如酸酸乳、去广告等)时,几乎会占满所有硬件资源,导致路由器网络/系统不稳定等诸多问题。既然路由器的硬件性能有限,那可不可以把网关的重任交给硬件性能更好的设备去做,让路由器安安心心地做好它的老本行 – 无线转发呢? 完全可以。 所谓的旁路网关,就是在路由器之外的其他硬件设备上搭建一个网关环境,把路由器肩负的网关重任交给其他更适合的设备来做,同时,旁路网关处理完的结果会返回给路由器,由路由器继续进行无线转发。 这样,每个角色各司其职,路由器肩上的任务轻了,即使是油管 4K 也能轻松跑满网速了,而旁路由也结束了它吃灰的命运。由此资源的充分利用,一举两得。

打开SSH工具FinalShell或putty连接上armbian系统。

拉取docker版openwrt镜像,我安装的这个集成服务很多,省去后面再去装软件包的麻烦了。

docker pull xuanaimai/onecloud:21-09-15 #123MB OpenWrt R21.8.6

~~如果认为集成的服务不是你想要的,想要自已去装自己需要的软件包的话,我这里推荐:

~~https://dl.openwrt.ai/releases/targets/meson/meson8b/openwrt-02.01.2024-meson-meson8b-thunder-onecloud-rootfs.tar.gz~~~~

打开网卡混杂模式 ip link set eth0 promisc on

创建网络,创建名字为openwrt的macvlan网络。自己根据 玩客云 所在网段修改,如:玩客云IP:192.168.1.175,则192.168.2.192/24改成 192.168.1.0/24,192.168.1.1改成主路由地址 docker network create -d macvlan --subnet=192.168.2.192/24 --gateway=192.168.2.1 -o parent=eth0 openwrt

如果使用非docker的镜向,就需要多一步创建镜像,如: docker import openwrt-02.01.2024-meson-meson8b-thunder-onecloud-rootfs.tar.gz openwrt-02.01.2024

创建、运行docker容器 docker run --restart always --name openwrt -d --network openwrt --privileged xuanaimai/onecloud:21-09-15

这样docker版openwrt就装好了,在1panel可视面板里就可以看到了。到主路由中可以看到openwrt的IP地址了,可以在浏览器中输入该IP地址打开openwrt的后台了,一般默认密码是root或者pasword。

二、无法进入openwrt后台的解决方法 我之前刷了好些个版本的openwrt,但是有时,不知道什么原因,就是无法访问openwrt的后台,而且在主路由后台也看不到openwrt的存在。后来发现多数原因是openwrt没有获取到IP或者是你不知道他的IP地址是多少。

所以我们可以直接在armbian中修改openwrt的IP地址。

进入容器后台 docker exec -it openwrt bash

修改网络 vim /etc/config/network 修改部分选项

修改的内容,举例如下,可以根据自己的实际情况修改。

config interface 'lan' option proto 'static' option ipaddr '192.168.2.192' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.2.1' option broadcast '192.168.2.255' option dns '192.168.2.1'

按需修改。按“i”输入 ; 按“ESC” ,输入":" ,"w" , "q" 保存退出。

修改好后重启网络,一般就可以正常访问openwrt后台了。 /etc/init.d/network restart

通过上面的操作,可以直接进openwrt后台配置你的旁路由了,这里就不展开了。

三、openwrt挂载硬盘共享当轻NAS使用。 1.安装Samba、检查软件包 登录openwrt,在“系统”选项卡-“软件包”。进入路由器web后台页面,系统–软件包,搜索samba查看软件包安装情况,下面三个软件存在就可以。

samba36-server luci-app-samba luci-i18n-samba-zh-cn 第一、二个必装,第三个是语言包,英文好的可以把“zh-cn”改成“en”装英文版的,装啥语言包界面就是啥语言的。

2.查看samba是否启动 我们要用ssh连接到openwrt路由器,输入命令service samba status,如果是running,说明已经启动。没有启动的话,输入service samba start启动。

3.查看路由器挂载情况 一般已经自动挂载好了。命令为df -h。这里可以看到我们的路由器挂载目录为/mnt/sda1。一般size比较大的那个就是我们的移动硬盘或U盘。

openwrt怎么挂载ntfs格式 首先需要安装ntfs-3g-utils以支持ntfs格式,它包含有mkfs.ntfs命令,然后会自动安装依赖ntfs-3g,它包含有ntfs-3g命令;

使用方法:

mkfs.ntfs /dev/sda2 格式化d盘为ntfs格式;

ntfs-3g /dev/sda2 /mnt/sda2 挂载d盘到/mnt/sda2目录。

其次需要安装挂载工具mount-utils,它包括mount,umount,findmnt三个命令。

使用命令mount /dev/sda2 /mnt/sda2会提示:未知的文件系统类型ntfs,不能挂载;而使用命令mount -t ntfs-3g /dev/sda2 /mnt/sda2则可以挂载;

umount /dev/sda2 卸载sda2盘,但sda2盘共享后卸载会提示设备正忙,重启才能卸载;

findmnt可以查看已挂载结果。

如果重启后不能自动挂载简单的办法是在启动项里加一条命令:

具体操作方法:系统-启动项-本地启动脚本 mount -t ntfs-3g /dev/sda1 /mnt/sda1

在使用过程中发现有中文乱码的解决: 挂载时加-o参数iocharset=gb2312或iocharset=utf8,如mount -o iocharset=utf8&gbk /dev/sda1 /mnt/sda1 该参数也可以直接填在挂载点-高级设置--挂载选项中,直接填入iocharset=utf8就可以

4.配置Samba服务 Samba服务的配置由两个文件组成,一是基本设置/etc/config/samba,二是/etc/samba/smb.conf.template,服务启动后会先读取一号文件,然后读取二号文件,生成/etc/samba/smb.conf文件,最后运行服务。

image.png ssh到openwrt主机上,编辑一下这两个文件: 第一个文件/etc/config/samba(或者按上图设置好后保存应用也是一样的。)

config samba option name 'OpenWrt' option workgroup 'WORKGROUP' option charset 'UTF-8' option description 'OpenWrt' option homes '1'

config sambashare 'sda1'      ## 引号中可改为想要的共享名称,建议不要有中文 option name 'sda1'        ## 引号中可改为想要的共享名称,建议不要有中文,与上面相同 option path '/mnt/sda1'        ## 引号中改为U盘挂载位置 option read_only 'no' option guest_ok 'yes' option create_mask '777' option dir_mask '777'

第二个文件/etc/samba/smb.conf.template,直接删除原来的内容粘贴即可:

[global] netbios name = |NAME| display charset = |CHARSET| interfaces = |INTERFACES| server string = |DESCRIPTION| unix charset = |CHARSET| workgroup = |WORKGROUP| browseable = yes deadtime = 30 domain master = yes encrypt passwords = true enable core files = no guest account = nobody guest ok = yes #invalid users = root local master = yes load printers = no map to guest = Bad User max protocol = SMB2 min receivefile size = 8192 null passwords = yes obey pam restrictions = yes os level = 20 passdb backend = smbpasswd preferred master = yes printable = no security = user smb encrypt = disabled smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=960000 SO_SNDBUF=960000 syslog = 2 use sendfile = yes use mmap = yes writeable = yes disable spoolss = yes host msdfs = no strict allocate = No

重启Samba。 /etc/init.d/samba restart

至此,在其他电脑上输入服务器地址就可以访问Samba了,一般会提示要密码,如果没设置Samba密码,就直接输入服务器密码即可,否则输入Samba访问的密码。

5.设置Samba访问密码

可以自己设置Samba的用户和密码,不过一般来说改个密码就行了,没必要再重新整个用户,个人使用,没必要那么麻烦。

第二个文件/etc/samba/smb.conf.template,有一行被注释掉了(invalid users = root),去掉注释的话,将不能使用root账号添加密码,这样一来还需要为samba服务单独添加账号,其实没有这个必要。

在ssh窗口中,输入: smbpasswd -a root 然后根据提示输入samba密码即可。

下面需要取消Samba服务中配置的允许匿名访问的选项,输入 vim /etc/config/samba 编辑一号文件,将option guest_ok 'yes’中的yes更改为no。

重启Samba服务 /etc/init.d/samba restart 然后就可以远程登录Samba服务器啦,

账户root,密码就是设置的密码。 在这记一条指令, mount -t tmpfs -o remount,size=100% tmpfs /tmp 最近经常发生内存爆了,这条指令解决。

openwrt的可玩性是很高的,把玩客云用于赚点电费,顺便当个旁路由和NAS对于我来讲很好了,openwrt还有其它好多实用的功能。我用在用的还有下载工具、科学上网、打印机服务器、广告拦截等。

本文作者:88

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!