pve系统下从0到1搭建好用的OpenWRT系统

从0到1搭建好用的OpenWRT系统

  • 通过PVE虚拟平台搭建OpenWRT系统
    • 在PVE上创建OpenWRT虚拟机
      • 下载OpenWRT镜像文件
      • 上传镜像到PVE
      • 创建虚拟机
      • 安装OpenWRT系统
      • 修改OpenWRT的ip地址,使得OpenWRT可以被前端访问
      • 配置OpenWRT的网关和dns,使系统可以访问外网
    • 修改为国内镜像源
    • 修改语言为中文
      • 设置主题
    • 磁盘扩容
    • 配置ipv6访问

通过PVE虚拟平台搭建OpenWRT系统

OpenWRT是一款及其好用的软路由系统,很多it大拿可以通过该系统玩出各种好玩的花样,由于OpenWRT详细的部署过程以及一些初始化配置过程相对较少,因此本博客会将OpenWRT再pve虚拟平台下的安装部署过程,已经后续的磁盘扩容,主题更换,中文配置等详细的配置过程记录下来,以便小白们通过这一篇博客即可以搭建一套入门级别的好用的OpenWRT。

这里使用PVE平台,是因为PEV是一个给予Debian的开源平台,对各硬件平台的支持度相对较高,而相对应的ESXI平台则是更倾向于商业化的,而且对硬件平台的要求也相对较高,一些小众的硬件平台(例如各种工控机、迷你小主机等)可能无法安装,同时对网卡的厂商要求也较高。综合考虑,还是用PVE平台更加实际和高效。

我们最终的目的是,通过pve搭建好OpenWRT后,可以得到如下的效果,甚至通过公网的ipv6地址访问(如果有域名的话,通过域名映射后还可以通过域名进行访问)OpenWRT的各项界面效果,如下图:
在这里插入图片描述

本博客默认你已经掌握了pve的安装和基本使用方法,可以到网上找到对应的相关教程。

废话不多说,让我们开始有趣的旅途吧。

在PVE上创建OpenWRT虚拟机

下载OpenWRT镜像文件

可以到OpenWRT官网上下载对应的连接,由于该网站处在国外,下载可能会比较慢,但是即便如此,官网上依旧提供了各种国内代理地址,如下:
在这里插入图片描述
可以选择相对较为稳定的腾讯的网址(由于网址的目录比较多,为避免找不到,我已经给大家找好了对应的路径,直接点击进入即可下载(该链接默认是x86平台64位系统,可以根据自身需要到上一层目录中下载自己硬件平台对应的版本,截止本博客发布时间,OpenWRT的最新版本是23.05.2): https://mirrors.cloud.tencent.com/openwrt/releases/23.05.2/targets/x86/64/)
在这里插入图片描述

下载并将其进行解压得到img文件
在这里插入图片描述

上传镜像到PVE

将img文件上传到pve,PVE控制台首页,点击local(pve)标识要上传到PVE的哪块磁盘,点击ISO镜像,点击上传按钮,选择解压得到的img文件作为上传文件,点击“上传”
在这里插入图片描述

待上传结束后,在弹出窗口中可以看到对应的文件路径,复制这个路径,该路径后续会用到
在这里插入图片描述

创建虚拟机

登录PVE的前端控制台界面,右击pve节点,创建新的虚拟机,如下图:
在这里插入图片描述
输入节点名称,点击下一步
在这里插入图片描述
选择不使用任何介质
在这里插入图片描述
系统的默认“下一步”即可
在这里插入图片描述
磁盘直接删除掉,后面会重新手动创建磁盘
在这里插入图片描述
cpu尽可能选择2核火以上(无须太高,2核足够)
在这里插入图片描述
内存保持默认的2g即可
在这里插入图片描述
网络也保持默认(后续可以根据需要进行修改)
在这里插入图片描述
点击完成按钮
在这里插入图片描述
可以看到虚拟机已经创建完成,但是目前OpenWRT系统还没有安装到创建的虚拟机,下一步我们将对该虚拟机进行OpenWRT的安装。

安装OpenWRT系统

由于OpenWRT的系统官方没有提供对应的iso镜像包,通过img镜像包需要使用命令行的方式进行安装,具体操作如下(准备好前面复制好的img镜像路径):
在PVE平台点击pve节点,点击shell,如下图:
在这里插入图片描述
在命令行控制台中输入如下命令:

qm importdisk <虚拟机id> <img镜像路径> <安装到pve的哪个磁盘位置>

例如:

qm importdisk 102 /var/lib/vz/template/iso/openwrt-23.05.2-x86-64-generic-ext4-combined.img pve_servers

在这里插入图片描述

我这里的102代表id号为102的虚拟机,/var/lib/vz/template/iso/openwrt-23.05.2-x86-64-generic-ext4-combined.img表示我的img镜像上传后的路径,pve_servers表示我要安装到pve的“pve_servers”磁盘空间中(默认是“local-lvm”,由于我的“local-lvm”磁盘空间已经安装了其他东西,为避免磁盘空间不足,我另外加了一块硬盘,并将其创建成“pve_servers”)。

回车,可以看到命令执行完成,若失败的话,请检查一下镜像文件路径和安装路径是否准确(不可以直接安装在“local”,可以安装在“local-lvm”)
在这里插入图片描述
重新点击创建的虚拟机,点击硬件,发现虚拟机多出了一块硬盘,这就是刚刚的命令执行后新增的,即OpenWRT已经被写入到了该磁盘下
在这里插入图片描述
点击该磁盘,再点击编辑按钮,将总线/设备修改为“SATA”,勾选SSD仿真丢弃,点击添加
在这里插入图片描述

点击选项,双击引导顺序,修改磁盘作为第一引导顺序(勾选该磁盘并取消勾选其他两项,将磁盘拖动到第一个位置)
在这里插入图片描述

点击“控制台”,点击Start now
在这里插入图片描述
发现已经成功引导并进入系统界面
在这里插入图片描述
接下来只需要对OpenWRT进行相关配置即可

修改OpenWRT的ip地址,使得OpenWRT可以被前端访问

待OpenWRT系统启动完成(log不再刷时表明系统启动完成),在OpenWRT的控制台界面敲入回车,可以操作对应的linux命令
在这里插入图片描述
输入如下命令,修改网卡ip地址

vi /etc/config/network

在这里插入图片描述
将ip地址修改为何pve同一网段的其他地址(注意要避免与其他及其ip地址冲突),按ESC输入“:wq”,回车即可保存,然后输入“reboot”重启OpenWRT,待重启完成后,即可在浏览器前端访问OpenWRT
在这里插入图片描述
浏览器前端输入刚刚配置好的ip地址,我这里配置的是192.168.1.202,所以我直接范文这个地址即可
在这里插入图片描述
初始密码不知道的话,可以在后台控制器上,直接输入passwd修改初始密码
在这里插入图片描述
前端浏览器输入后,进入OpenWRT首页
在这里插入图片描述
至此,OpenWRT已经安装完成,但是我们的任务还没有结束,OpenWRT默认安装完成后是不可访问外网的(通过后台控制器ping baidu.com发现ping不通),因此需要手动配置一下网关和dns。

配置OpenWRT的网关和dns,使系统可以访问外网

OpenWRT首页点击“network→interfaces”,点击第一个网卡的“edit”按钮
在这里插入图片描述
修改网关
在这里插入图片描述
点击“Advanced Settings”,修改DNS服务器相关配置,填入正确的DNS服务器(默认第一个为网关,第二个为公有DNS服务器(网上可以找到很多))。
在这里插入图片描述
点击Save按钮,再点击Save & Apply按钮生效。
在这里插入图片描述
到后台控制器中输入ping baidu.com验证外网可达性
在这里插入图片描述
发现外网已经可以ping通,至此网络配置结束

修改为国内镜像源

由于OpenWRT的官方镜像为国外网址,网速非常慢,经常会出现访问超时的现象,因此需要将OpenWRT的镜像源修改为国内,测试这么多个下来,发现清华大学的镜像源是最稳定可靠的,这里给大家提供已经参考,具体如下:

src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/targets/x86/64/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/base
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/telephony

在后台控制器中修改镜像源地址,将原来的镜像源地址全部注释掉,填充以上清华大学的镜像源地址

vi /etc/opkg/distfeeds.conf

在这里插入图片描述
执行更新命令

opkg update

在这里插入图片描述
在这里插入图片描述
至此,镜像源更新完成。

修改语言为中文

在OpenWRT首页点击“system→Software”,点击update lists更新镜像源包目录
在这里插入图片描述
在这里插入图片描述

Download and install package中输入“luci-i18n-base-zh-cn”,点击OK
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

退出重新登录系统,发现语言已经变成了中文。
在这里插入图片描述

设置主题

OpenWRT原生的主题界面可能不是很美观,可以通过安装新主题的形式,实现对界面主题的更改,具体操作步骤如下:
用相同的方式先安装luci-compatluci-lib-ipkg
在这里插入图片描述
在这里插入图片描述
通过链接 https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.3.1/luci-theme-argon_2.3.1_all.ipk 从github上下载对应的主题安装包,得到如下文件:

在这里插入图片描述
在OpenWRT前端点击Upload package...按钮,选择刚刚下载好的文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成后,重新退出系统,即可看到登录页面已经更新成了新的主题
在这里插入图片描述
至此,主题的修改到此结束

磁盘扩容

前面的步骤我们知道,这种方式进行安装OpenWRT时,磁盘空间会非常小,只有几十上百兆,显然不足以支持我们后续的业务需要,因此,需要对OpenWRT的磁盘进行扩容,具体步骤如下:
和前面的方法一样,安装block-mount工具
在这里插入图片描述
在这里插入图片描述
安装完成后,需要重新启动OpenWRT,重启后,重新登录OpenWRT前端,即可在左边导航栏中看到挂载点选项,这个工具我们后面会用到
在这里插入图片描述
在pve上创建并关联新的磁盘给到OpenWRT
在这里插入图片描述
选择磁盘物理路径,默认是local-lvm,这里我选择和系统同在的pve_servers,大小输入10GB即可,后续不够可以再扩
在这里插入图片描述
系统后台安装cfdiskfdiske2fsprogs三个工具,命令行执行

opkg update
opkg install cfdisk fdisk e2fsprogs lsblk

在这里插入图片描述
接着就可以通过fdisk -l看到OpenWRT的所有磁盘
在这里插入图片描述
PVE上看,这块磁盘是黄色的
在这里插入图片描述

这里发现刚刚新增的磁盘并没有添加进来,没关系,直接系统关机,然后重新开机(不要直接在命令行用reboot)
在这里插入图片描述
这里发现,新磁盘颜色也已经正常
在这里插入图片描述
重新输入fdisk -l发现磁盘已经可以看到
在这里插入图片描述
直接给新磁盘创建新的分区

fdisk /dev/sdb

输入n后,一直回车,最后输入w保存配置
在这里插入图片描述
格式化新创建的分区

mkfs.ext4 /dev/sdb1

在这里插入图片描述

前端到挂载点处,点击生成配置按钮
在这里插入图片描述
可以在下面的列表中看到新创建的磁盘
在这里插入图片描述
点击编辑按钮,勾选“已启用”,选择挂载点为作为根文件系统使用,复制下面的配置信息,点击保存按钮。
在这里插入图片描述

在这里插入图片描述

点击保存并应用按钮
在这里插入图片描述
在这里插入图片描述

将以上修改后的内容,重新粘贴到后台控制台执行

mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sdb1 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

在这里插入图片描述
重启OpenWRT,进入前端首页“”,发现磁盘已经完成扩容

reboot

在这里插入图片描述
在这里插入图片描述

若以上步骤操作完成后,依旧没有生效,可从点击“生成配置”按钮处开始,重复执行1~2次即可,我测试过程中也出现了不生效的情况,重复执行1次后就生效了。

配置ipv6访问

我们知道,现在ipv4资源已经枯竭,如果想要让自己的系统组件可以给外部互联网访问,配置ipv6的方式是已经较为可行的方法(前提是你家的电信运营商已经给你开通了ipv6,并且需要手动关闭ipv6spi,否则会被运营商的路由器光猫拦截下来,最新的带宽默认都支持并开通了ipv6),具体步骤如下:
在OpenWRT前端新增一个接口
在这里插入图片描述
协议选择DNCPv6客户端,名称随便写,设备选择桥接口,点击创建接口
在这里插入图片描述
点击保存
在这里插入图片描述
点击保存并应用
在这里插入图片描述
在这里插入图片描述
可以看到已经拿到了ipv6
在这里插入图片描述
电脑连接其他网络(例如手机开通热点),浏览器这个ipv6地址,发现即便外网的条件下,也可以访问该系统了
在这里插入图片描述
这就证明,我们的ipv6是可达可访问的,下一步就是要设置静态ipv6地址,避免由于运营商修改ipv6地址导致我们后续无法访问该ip,点击新网卡的编辑按钮
在这里插入图片描述
修改协议类型为静态地址,点击切换协议
在这里插入图片描述

填入ipv6地址(ipv4不要填写),可以直接拿原来的ipv6地址作为静态ip地址,输入网关(默认为:fe80::1),点击保存按钮
在这里插入图片描述
在外面点击保存并应用使配置生效
在这里插入图片描述
点击“应用并保留设置”
在这里插入图片描述
发现原来的ipv6地址仍然可以通过手机热点进行访问,至此,所有配置结束。

补充一点,可以通过阿里云域名,将域名解析到这个ipv6地址,实现域名访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/393178.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JavaSE】类和对象

面向对象概述 面向对象编程&#xff08;简称POP&#xff09;&#xff0c;其核心思想就是参照现实中的事物&#xff0c;将事物的属性特征、行为特征抽象出来&#xff0c;使用类来表示&#xff0c;当涉及到一个具体的实例时&#xff0c;就将类进行实例化&#xff0c;使用一个对象…

数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程。以下是我之前写的一个自动化测试的小Demo。这个Demo基于Selenium与Java。由于现在Selenium在自动化测试的统治地位&#xff0c;并且随着Selenium 4的即将发布&#xff0c;在未来很长的一段时间里…

探索设计模式的魅力:掌握命令模式-解锁软件设计的‘遥控器’

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;并且坚持默默的做事。 引言&#xff1a;探索命令模式的奥秘 软件设计领域充满挑战与机遇&#xff0c;命令模式…

Android下SF合成流程重学习之Refresh流程

Android下SF合成流程重学习之Refresh流程 引言 在前面初步分析完成了Android下SF合成流程重学习之Invalidate流程&#xff0c;我们接下来继续下面的分析。当有事务的更新或者有Buffer的更新便会触发后面刷新的流程,即Refresh流程&#xff01; 一. onMessageRefresh 文件&…

Vue24 收集表单数据 实例

实例 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>收集表单数据</title><script type"text/javascript" src"../js/vue.js"></script></head><body><!-- 收集…

线性回归-使用ClickHouse机器学习函数

本文字数&#xff1a;5923&#xff1b;估计阅读时间&#xff1a;15 分钟 作者&#xff1a;Ensemble 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 这原本是转发的ensemble analytics的文章。 【https://ensembleanalytics.io/blog/l…

校园流浪猫信息记录和分享的小程序源码/微信云开发中大猫谱小程序源码

这是一套用于校园流浪猫信息记录和分享的小程序源码&#xff0c;微信云开发中大猫谱小程序源码。主要功能是创建校园猫猫档案&#xff0c;为猫猫上传照片&#xff0c;以及照片审核&#xff0c;人员管理等&#xff0c;并且可以拍照记录校园内猫猫的成长轨迹&#xff0c;该程序由…

【Java EE初阶十三】网络初识

1. 网络发展史 网络发展的几个主要时期&#xff1a; 单机时代->局域网时代->广域网时代->移动互联网时代 随着时代的发展&#xff0c;越来越需要计算机之间互相通信&#xff0c;共享软件和数据&#xff0c;即以多个计算机协同工作来完成 业务&#xff0c;就有了网络互…

代码随想录算法训练营第43天(动态规划05 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

动态规划 part05 1049. 最后一块石头的重量 II解题思路 494. 目标和解题思路 474.一和零解题思路总结 详细布置 1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了&#xff0c;可以尝试先自己思考做一做。 题目链接&#xff1a; 1049. 最后一块石头的重量…

十五、环境变量和代理跨域及api的定义

环境变量的定义 在根目录下新建三个环境变量配置文件 .env.development&#xff08;开发环境&#xff09;.env.test&#xff08;测试环境&#xff09;.evn.production&#xff08;生产环境&#xff09;分别定义开发环境、线上环境和测试环境的变量 webpack VUE_APP_TITLE 学…

第二篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读pyttsx3支持多种语音引擎

传奇开心果短博文系列 系列短博文目录Python的文本和语音相互转换库技术点案例示例系列 短博文目录前言一、三种语音引擎支持介绍和示例代码二、SAPI5引擎适用场景介绍和示例代码三、nsss引擎适用场景介绍和示例代码四、eSpeak适用场景介绍和示例代码五、归纳总结 系列短博文目…

PPT怎么输出PDF(不留白)

1、首先选中所有元素&#xff0c;右键点击“组合”形成一个对象。然后查看该对象的高度和宽度。 2、在设计->自定义->幻灯片大小中-->选择“自定义”&#xff0c;然后修改高度和宽度稍稍大于选中对象的值。点击“最大化”。 3、输出为PDF即可

【Java EE初阶十七】网络原理(二)

2. 传输层 2.2 TCP协议 2.2.2 关于可靠传输 4.滑动窗口 前面的三个机制&#xff0c;都是在保证 tcp 的可靠性&#xff1b; TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了)&#xff1b; 滑动窗口,就让可靠传输对性能的影响,更…

sora的理解

1、背景 近期, openai紧跟Runway、 Google、Meta等公司, 发布了视频生成模型Sora, 全面进军视频领域。官网的视频效果炸裂&#xff0c;连贯性优秀&#xff0c;生成视频时长可达60秒&#xff0c;但模拟复杂物理场景仍有瑕疵。相对Pika、Runway的效果还是有进一步提升。考虑到这…

哪种台灯的灯光适合学生用?明基/书客/松下等护眼台灯推荐

目前近视人群越来越多&#xff0c;并且有低龄化的倾向。针对护眼这一卖点&#xff0c;市面上出现了很多护眼台灯品牌&#xff0c;但是很多不知名的网红品牌生产出来的产品质量没有办法得到保障。在挑选护眼台灯时&#xff0c;还是要先做好攻略才不会踩雷。 一、使用护眼台灯更…

基于Java SSM框架实现留学生交流互动论坛网站项目【项目源码+论文说明】计算机毕业设计

摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

量化交易开发之循环、多股策略语法(六)

量化交易开发之循环、多股策略语法&#xff08;六&#xff09; 一、用list数据类型存储多个股票 以如下这个简单的策略为例&#xff0c;学习在策略中操作多个股票&#xff1a; def initialize(context):run_daily(period, timeevery_bar)g.security 000001.XSHEdef period(c…

java 课程签到管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 课程签到管理系统是一套完善的java web信息管理系统 采用serlvetdaobean&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

聚道云软件连接器助力生产制作行业实现数字化升级

在数字经济时代&#xff0c;生产制造行业迫切需要进行数字化转型&#xff0c;通过数字化技术手段打通各系统之间的数据壁垒&#xff0c;实现生产全流程数字化管理&#xff0c;提高企业的整体运营效率&#xff0c;进一步增强企业竞争力。聚道云为此推出了生产制造行业的集成管理…

哎呀,当时怎么没有想到 | 京东云技术团队

在我们的测试工作中&#xff0c;是不是经常遇到这样的情形&#xff0c;发生了线上问题&#xff0c;产品、研发或者测试同学一拍脑袋&#xff1a;当时怎么没有想到&#xff0c;怎么给漏掉了呢&#xff1f;明明是一个非常简单的事情&#xff0c;用大拇指都能想到的验证场景&#…
最新文章