原版Openwrt在x86平台上的安装和配置以及常用插件安装 您所在的位置:网站首页 openwrt安装Qos 原版Openwrt在x86平台上的安装和配置以及常用插件安装

原版Openwrt在x86平台上的安装和配置以及常用插件安装

2024-07-07 10:54| 来源: 网络整理| 查看: 265

前言

最近看着一台老古董电脑闲置着很不爽,想让它干点事情发挥最后的余热,就给它按上了Openwrt系统折腾了几天作为软路由使用。UP本人从对软路由完全不了解到安装并配置完成一共只花了3天,所以我认为是对小白很友好的。

由于本人有一定赛博洁癖,就像喜欢白丝和雪糕一样喜欢纯洁无暇的系统,不是很喜欢安装各种整合包,目前安装了梯子和QOS插件,等以后还准备组个NAS玩玩。

此专栏用来记录过程和各种坑,便于UP主自己日后查找和帮助有缘人,本人不是专业搞网络的,一切按照自己的理解来写,如果有人发现有表达错误欢迎您私信我。

准备工作

    1. openwrt本体(需要寻找你系统对应的版本):

推荐下载 generic-ext4-combined-efi.img.gz

https://downloads.openwrt.org/releases/22.03.0-rc6/targets/x86/64/

简单说一下各种版本的区别:

选择x86架构后会有四个选择 64,Generic, Legacy, Geide。

    64用于现代PC硬件(大约在2007年以后的产品),它是为具有64位功能的计算机而构建的,并支持现代CPU功能。除非有充分的理由,否则请选择此选项。    Generic  仅适用于32位硬件(旧硬件或某些Atom处理器),应为i586 Linux体系结构,将在Pentium 4及更高版本上运行。仅当您的硬件无法运行64位版本时才使用此功能。    Legacy用于奔腾4之前的非常旧的PC硬件,在Linux体系结构支持中称为i386。它会错过许多现代硬件上想要/需要的功能,例如多核支持以及对超过1GB RAM的支持,但实际上会在较旧的硬件上运行,而其他版本则不会。    Geode是为Geode SoC定制的自定义旧版目标,Geode SoC仍在许多(老化的)网络设备中使用,例如PCEngines的较旧Alix板

    Combined-squashfs.img.gz该磁盘映像使用传统的OpenWrt布局,一个squashfs只读根文件系统和一个读写分区,在其中存储您安装的设置和软件包。由于此映像的组装方式,您只有230 兆MB的空间来存储其他程序包和配置,而Extroot不起作用。    Combined-ext4.img.gz此磁盘映像使用单个读写ext4分区,没有只读squashfs根文件系统,因此可以扩大分区。故障安全模式或出厂重置等功能将不可用,因为它们需要只读的squashfs分区才能起作用。

所以,选择64的情况下,ext4适合我们扩容,并安装软件包,而squashfs则是适用于直接编译带有软件包的openwrt系统,方便重置路由器,不必从安装包重新刷机。

带有efi指的是UEFI,可以使用GPT分区列表,是较新的技术,性能和可扩展性上更好,不带efi的则是使用Legacy。(不确定对,但是如果不是特别特别老的机器2010年钱,用它准没错)

    2. 安装工具:physdiskwrite

https://m0n0.ch/wall/downloads/physdiskwrite-0.5.3.zip

    3. 网卡驱动

如果使用的是usb网卡的话,最好是官方支持的网卡芯片(一个下午的惨痛教训)。可以在下面链接中寻找有没有你网卡的驱动包,提前下载备用。https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/22.03.3/targets/x86/64/packages/

    4. PE启动盘工具 wepe

https://www.wepe.com.cn/download.html

PE启动盘制作

启动盘制作过程可以配合这位UP的视频看,这位UP讲的很详细,但由于他使用的是LEDE的版本,所以从软路由开机以后以我的步骤为准。

极其详尽的OpenWRT软路由系统安装与设置教程(物理机安装)

物理机设置

开机后随着等到命令行不跳了按 Enter 进入控制台。

首先输入 ifconfig 指令来观察系统识别到的网卡数量是否和你预期的一致。如果不一致则先配置网络,先使用识别出的网卡连上互联网,然后再安装未识别出的网卡驱动。如果发生了一张网卡都没识别出这样抽象的情况,那么必须插入U盘手动安装网卡驱动。但这种情况不太会发生,为了省事就不写了。

假如输入 ifconfig 指令后,显示如下图:

这说明系统识别到3个网络接口,可能是逻辑上的,可能是物理上的,图中,br-lan代表LAN的一个桥接属于逻辑接口,eth0代表笔记本自带的一个物理接口,lo是网络协议中的回环接口属于逻辑接口,那么我们首先使用eth0网口连上互联网,下载相关驱动文件。

输入 vim /etc/config/network 修改网络配置文件

由于系统只自带了 vim 所以只能使用反人类的vim修改,按 i 进入编辑模式,编辑完成后按 esc 退出编辑模式,然后输入 :wq enter 保存并退出(注意有个冒号)。我是真的搞不懂为什么不自带一个nano 编辑器,vim 狗都不用(震声)!

上图是修改后的结果,eth0 作为软路由的 wan 口,和主路由器的 lan 口连接。

service network restart 重启系统的网络服务。再输入 ifconfig, 如果 eth 0 接口有ip地址了,那么说明设置成功了,机器已经成功连上互联网了。

目前的网络拓扑

输入 opkg update 更新安装包列表

理论上来说这步不需要梯子,如果遇到无法连接的问题,请自行搜索换源。

然后如果需要安装驱动可以输入 opkg list | grep (你要安装驱动的网卡芯片型号)

这行命令的作用是 在可用的安装包中搜索你的网卡驱动

接着输入 opkg install kmod-usb-net-rtl8152(我的网卡驱动名)来安装驱动,安装完成后系统会自动识别出你的网卡,如果遇到无法识别的情况请重启或者插拔一下网卡。

接着输入 ifconfig 再次确定网口情况

根据上面的配置,br-lan接口是逻辑接口,eth1 是实际接口。(这里应该是这个意思,暂时不知道要怎么解释,懂的自然都懂,不懂的也没啥影响,日后知道咋解释了再随缘回来补充)

最后输入 opkg remove dnsmasq && opkg install dnsmasq-full

请务必完全按照这行命令输入,不要分成两步做!这步有一定风险,先卸载再装全系统用来解析 dns 的包,但由于在执行opkg install dnsmasq-full 的时候可能有各种原因安装失败了,所以系统仅仅只是进行了卸载并没有再次安装,导致系统无法解析 dns, 虽然是有救的但很烦,所以直接放在这里做,避免等之后已经设置得差不多了以后执行这步出错导致前功尽弃。

以上是所有需要在软路由机器上做的事情,接下来用网线连接到你的另一台电脑,在另一台电脑上操作。

目前的网络拓扑

设置皮肤和语言

你的电脑和软路由连接以后,现在应该是可以直接上网的。

打开浏览器,访问刚才设置的 eth1 网口地址 192.168.9.1

登录页面

初始没有密码,直接点击 Login 进入管理页面,由于我们在 安装各种插件的时候需要不断重启软路由,因为我懒,而且也没有安全问题,所以我们先不设置密码,等设置完成以后再设置。

首页

这是系统自带的管理页面,如果觉得英文阅读困难或者是需要安装一个好看一点的皮肤的话,上放菜单栏 System -> Software 进入软件管理页面

软件管理页面

点击绿色框 Update lists 更新源,搜索界面汉化补丁 luci-i18-base-zh-cn 并安装。

再搜索 theme 关键词,截至我写这篇文章时,一共只有4个官方可选主题,推荐 luci-theme-material,效果如下:

安装完成后直接 F5 刷新应该就能应用, 或者进入 System -> System -> Language and style进行设置,如果还不行那就重启再试。

随后再次进入 System -> Software ,发现可用容量只有不到100MB, 这是系统刷机固件决定的,所以我们需要扩容。

远程管理软件安装

扩容之前,我们需要安装 Xshell 和 Xftp 两个软件来方便地控制软路由。

打开 Xshell ,地址填路由器的 IP, 用户名为 root,密码我没设置,所以空着。

连接上后如图所示,这样就相当于我们在物理机上直接控制它了,在设置的时候为了避免各种神奇的BUG请尽量使用命令行操作。

输入 opkg update && opkg install openssh-sftp-server 安装 Xftp 文件管理软件的依赖包。

软路由扩容

正常来说,x86 上装的硬盘很难低于100G,对于软路由来说绰绰有余,我目前觉得较为合适的容量分配:2G 给软路由装软件(应该可以装下所有官方程序包了),10G~20G给软路由装docker容器(不过我认为软路由不应该干这个事情,这个活可以交给NAS做),其他容量用来局域网内共享文件。

这里我们就先演示给软路由的软件去扩容。

在Xshell 命令行中输入 opkg install cfdisk fdisk, 安装必要程序

输入 fdisk -l 查看当前硬盘分区情况。

我这里想直接输入cfdisk进行,但是不影响,都会出现报错信息

这里提示GPT分区出错,我认为可能是我们在windows系统上初始化的软路由的linux系统,两者规定不一样,造成的出错。不过这是可以修复的。

输入 opkg install parted 安装修复软件

输入 parted -l 修复

中间需要输入 ok 和 fix

请注意,上述步骤不要省略任何一步,不然可能失败,就很玄学,如果有人知道如何在装系统的时候就避免这个错误请私信我。

接下来正式开始硬盘分区扩容。

输入 opkg install block-mount 安装openwrt硬盘挂载插件,安装完成后软路由需要重启。

重启可以在命令行中输入reboot 或者在网页管理页面中 system->reboot 进行重启。

重启完成后再次进入网页管理页面,打开system下拉菜单,会多出来一个 mount points 选项说明安装成功。

输入 cfdisk 进入下方界面

cfdisk 界面

键盘 ↓ 键,移动到 Free space,再用键盘左右方向键选中 New 后回车,输入 2G 回车,剩下的空间先不管它。

接着用键盘左右方向键选择 write 进行写入,输入 yes 确定,最后选择 Quit 退出。

在控制台输入 fdisk -l 

可以发现 我们新分出了一块 2G大小的空间 名字为  /dev/sda3

输入 mkfs.ext4 /dev/sda3 用 ext4的文件系统格式对该区域格式化,一路按照系统的提示确定。

回到网页管理页面,进入 system->mount point 

点击 Generate Config 刷新硬盘信息

下拉到 Mount Points

选择我们刚才创建的2G大小的 /dev/sda3,点击 Edit

勾选Enable, mount point 选择作为根目录,复制文本框中内容并将中间的 /dev/sda1 改成你的分区路径,我的是 /dev/sda3。点击保存,往下拉到最后,点击 save & apply。

回到命令行,将修改完成的内容复制进去,会自动开始执行,这个操作是将原来根目录的文件全都复制到新的分区。执行完后要多按一次回车执行最后一行命令,然后重启。

重启完后,进入 system->software 查看是否扩容成功。

可以看到 free space 为2GB,扩容成功。

写在最后

介于篇幅限制,就先写到这里,openclash和qos服务的安装会在下一篇写,中间真的有好多坑,后续可能还会写一下软路由的选择和带有软路由的家庭网络拓扑。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有