当前位置: 首页 > news >正文

将OpenWrt部署在x86服务器上

61ea53461e026bd66011702469212b57.gif

正文共:1234 字 40 图,预估阅读时间:2 分钟

如果你问ChatGPT有哪些开源的SD-WAN方案,他会这样答复你:

1192b7184bd34b8747cd44f8930378b6.png

我们看到,OpenWrt也属于比较知名的开源SD-WAN解决方案。当然,在很久之前,我就发过几篇和OpenWrt相关的文章软路由是啥?OpenWrt又是啥?长啥样?在VMware装一个瞅瞅在ESXi上把OpenWrt变成真正的路由器。包括我们公司,目前也有一些基于OpenWrt开发的网络工具。

我们之前使用OpenWrt是因为暂时缺少ARM架构下的适配工具,所以临时选择了OpenWrt,直到最近有人员说OpenWrt只能在ARM架构下使用,让我颇为震惊。

8f46ed4fd72ddb4580bfaeeff57adf96.png

制作OpenWrt镜像

da361acf9607873295c2152439bac720.png

难道真是只有ARM架构才能用吗?我不禁想再去验证一下。

e4aa917b97ba894bdf6c8b52ab07f8f1.png

首先,我们可以看到,目前比较稳定的版本是22.03.2版本,比之前的21.02又提升了好几个版本。

9fe27b433d44cb3cd95910047e759e7d.png

在架构选择页面,可以看到有很多选项,多到竟然没几项是认识的,但是我们依旧可以从中很轻易的找到x86架构选项。

ac348ad7a9dcb9f43fc81f767acf8823.png

在x86下面又可以选择64位版本。

dbd9e046c8c141c4430a52cf35ff4283.png

下载的时候,理论上讲前两个文件应该都是可以用的,我用第二个试一下,该文件的下载链接如下:

https://archive.openwrt.org/releases/22.03.2/targets/x86/64/openwrt-22.03.2-x86-64-generic-ext4-combined.img.gz

下载完成后,解压得到openwrt-22.03.2-x86-64-generic-ext4-combined.img这个文件。

9080a8753f58535dddaa3d15e956176b.png

压缩包有所增加,但是解压出来的镜像之前小了。

然后用StarWindConverter这个工具来把IMG镜像文件转换成VMWare支持的vmdk文件。

6d52e969a558111c7aea3d8953822b13.png

选择合适的转换后的镜像格式,我选择的是VMWare growable image版本的VMDK,磁盘空间按需增长。

e612473a3c5a890d9559ee13a957bd6b.png

磁盘类型选择“IDE”,也可以选择“SCSI”。这个跟创建虚拟机时的选项要对应。

fe62eee3f3e7ced0a98af62a3c2e7390.png

选择输出文件位置,默认是和源文件在同一目录下。

17411c1edf8aaa7c7f87c910a36e6db7.png

转换过程很快,可以看到转换完成的vmdk文件。

7963af95ab26c06561a8b9b8b133c68b.png

a02abbebff8039152d3800cde8d0c1df.png

创建VMware虚拟机

9ae2ca2a737ee5e68a16a801ac201ce3.png

创建新的虚拟机,类型选择“自定义(高级)”

c2126380b38d8a9b74fce6926208780e.png

选择兼容性,因为我们要将其迁移到VMware ESXi 6.7,所以我的硬件兼容性选择了“ESXi 6.5”

a5f70737787a5e3da81b028e03e1df3b.png

稍后安装操作系统。

1a7c9a7ec4703d3e35f04a65d061bb4e.png

系统选择“Linux”→“其他Linux 4.x或更高版本内核64位”。(实际内核版本为5.10.146)

5510fa6a7887f55fc6f25e501c515944.png

命名虚拟机并选择存储位置。

ecfa32dd0bff59ab6705c3a66d6e77eb.png

处理器配置选择2核CPU。

5da444eb88c87eb2e2b0c048e3149332.png

推荐内存768 M,还是分2G给它吧。

b62b3d1774c0ccb462aa9c7e652e21a2.png

网络类型选择“使用桥接网络”

446c277b4fe8742c897471f503ebd65f.png

I/O控制器类型保持默认推荐的“LSI Logic”

7d292422c581313cd6a2557989a7230b.png

虚拟磁盘类型跟转换的镜像保持一致,选择“IDE”

71b2fd1bd6fce857fca44ca5739ce626.png

磁盘选择“使用现有虚拟磁盘”

3665ce2affe1ddf45cf9f3ce5841db5d.png

选择刚才转换好的vmdk文件,可以看心情决定是否转换为最新格式。

0f8710ac66f18117d7a9a419f246fead.png

我选择了“转换”

d8e8018b4b1e311cba8b8fb0a11a124b.png

确认虚拟机配置,没有问题的话,点击“完成”即可。

14eae1bab6b3f861a81312a23133dccb.png

启动OpenWrt虚拟机

8a7c95a0e32efc3b6dea3ac04d45b403.png

直接启动虚拟机,启动保持默认选项即可。

984b3880e9e4df35474f7535af439ac2.png

注意:系统在启动完成后不会自动进入系统,一般当我们看到启动页面加载出“br-lan:link becomes ready”基本上就是已经启动完成了,并且页面会停在这里。

59a4228401fe105180a840504eacf395.png

然后按一下回车键即可进入系统。

1332c73e867739ece6692ce64f1c221d.png

可以看到启动欢迎页面显示的“OpenWrt”字样,以及版本号22.03.2。并且提示说明当前的root账号没有密码,需要使用passwd命令来设置新密码。

aeb465a76cd8a39407650825c89f0690.png

注意,新系统中二层口br-lan的默认地址是192.168.1.1,需要确认是否存在地址冲突,比如和我现有的网段冲突了,就需要进行修改。

并且我这次打算做一个单臂的场景,所以,我在配置文件“/etc/config/network”中,将网卡eth0的地址修改成了192.168.1.224/24,网卡lan的地址移除掉了。

dfb9744c1130a505a7212477d147c87e.png

修改完成后,执行命令重启网络服务。

service network restart

75956fbb16760cb9f369986ff8581e90.png

迁移到ESXi

47aeb981700bf4bebad336069ae0f023.png

关闭虚拟机,然后选择“文件”中的“导出为OVF”

8b251143261a9180dd328ee89b70e24d.png

得到我们需要的OVF和vmdk文件。

f9ce83b86f684c64ab3b8347255d30b4.png

来到ESXi中,新建虚拟机,创建类型选择“从OVF或OVA文件部署虚拟机”

a692a1cd6b0e796c3f6e26175d349be8.png

选中导出的OVF文件和VMDK文件,再给虚拟机起个名。

9b5022743dd2234057a981f4562c874f.png

选择存储。

a4c50ca8404c56f2ea640e8321e7d9a8.png

在“部署选项”中,网络映射选择到管理网,磁盘置备选择为“精简”,关闭“自动打开电源”

3c588ae15716b80441de0287aee571d3.png

确认主机配置,点击“完成”

18d6475c92d0c5fee03d3c168296f260.png

导入成功后,启动虚拟机。

b31258b72d053918c32ca34bd674417c.png

从本地测试访问192.168.1.221,连通性正常。

814804888a02faac22b658be066e687b.png

虽然在启动时要求我们输入密码,但是我们没有设置,可以直接点“login”登录系统。

a00dead642c6e2da16378fc2ed5eb737.png

查看主机状态信息,一切正常。

37d3d4e93de89e65557ec29a52e0aeaf.png

OK,这不就在x86上面部署完成了吗?

8f42689a43e7e0a357dcc70d179c8de6.gif

长按二维码
关注我们吧

7b20b790517e19afd236e2b6c3031521.jpeg

00e510eb525837cd37acbcfdf9ac7c33.png

openVPN+SmartDNS=openDNS or smartVPN?

带认证的openVPN连接/断开操作指南

配置openVPN使用用户名密码认证

解决openVPN的递归路问题还是要从服务器端下手

通过Nginx做一个openVPN配置文件下载页面

配置优化:将openVPN的配置文件合4为1

Kali Linux开启SSH远程登录

配置Kali通过MSTSC连接远程桌面

使用Python批量处理Excel的内容

如何使用Python提取Excel中固定单元格的内容

Ubuntu编译安装VPP23.02

相关文章:

将OpenWrt部署在x86服务器上

正文共:1234 字 40 图,预估阅读时间:2 分钟 如果你问ChatGPT有哪些开源的SD-WAN方案,他会这样答复你: 我们看到,OpenWrt也属于比较知名的开源SD-WAN解决方案。当然,在很久之前,我就发…...

计算机视觉:卷积神经网络(CNN)基本概念(一)

第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络 一、引言 卷积神经网络&…...

企业文件共享中的权限管理与安全风险防范

在企业的日常运营中,文件共享是必不可少的一项工作。然而,文件共享过程中如果权限管理不当,极易引发安全风险,导致企业敏感信息泄露。因此,加强文件共享中的权限管理与安全风险防范,对于保障企业信息安全至…...

使用DeepSeek建立一个智能聊天机器人0.12

为了确保这段代码能够在Windows和Linux系统上都能正常运行,我考虑以下几个方面: 路径分隔符:在Windows和Linux中,文件路径的分隔符不同。Windows使用反斜杠(\),而Linux使用正斜杠(/)。我们可以使用 os.path.join 来处理路径,以确保跨平台兼容性。 消息框:tkinter.…...

国家队出手!DeepSeek上线国家超算互联网平台!

目前,国家超算互联网平台已推出 DeepSeek – R1 模型的 1.5B、7B、8B、14B 版本,后续还会在近期更新 32B、70B 等版本。 DeepSeek太火爆了!在这个春节档,直接成了全民热议的话题。 DeepSeek也毫无悬念地干到了全球增速最快的AI应用。这几天,国内的云计算厂家都在支持Dee…...

Deep seek学习日记1

Deepseek最强大的就是它的深度思考,并且展现了它的思考过程。 五种可使用Deep seek的方式(应该不限于这五种,后续嵌入deepseek的应该更多,多了解一点因为官网容易崩~~): 1.deep seek官网 2.硅基流动silicon…...

乐理笔记(持续更新)

单音与音程 单音:由一个音组成。 音程:由两个音组成,表示两个音之间的音高距离。 如何数音程: 单音程:9 - X,性质相反。例如,9度音程减去某个数,性质会相反。 复音程&#xff1a…...

【动态路由】系统Web URL资源整合系列(后端技术实现)【nodejs实现】

需求说明 软件功能需求:反向代理功能(描述:apollo、eureka控、apisix、sentinel、普米、kibana、timetask、grafana、hbase、skywalking-ui、pinpoint、cmak界面、kafka-map、nacos、gateway、elasticsearch、 oa-portal 业务应用等多个web资…...

PHP高效、轻量级表格数据处理库 OpenSpout ,很好用

OpenSpout 是一个高效、轻量级的 PHP 库,用于处理电子表格文件(如 Excel 和 CSV)。它支持读取和写入大型文件,且内存占用低。本文将详细介绍如何安装和使用 OpenSpout。 目录 安装 基本使用 高级功能 参考文档 安装 OpenSp…...

2010年上半年软件设计师考试上午真题的知识点整理(附真题及答案解析)

以下是2010年上半年软件设计师考试上午真题的知识点分类整理,涉及定义的详细解释,供背诵记忆。 1. 计算机组成原理 CPU与存储器的访问。 Cache的作用: 提高CPU访问主存数据的速度,减少访问延迟。存储器的层次结构: 包括寄存器、Cache、主存和…...

EventSource的使用

什么是EventSource EventSource 是一个用于服务器推送事件(Server-Sent Events, SSE)的接口,它允许服务器推送实时更新到浏览器。与 WebSocket 不同,SSE 是单向的(服务器到客户端),适用于更新频…...

【第12章:深度学习与伦理、隐私—12.3 深度学习模型的透明性与可解释性提升策略】

凌晨三点的ICU病房,AI辅助诊断系统将一位患者的肺炎误判为普通感冒——当主治医生要求查看诊断依据时,系统只能给出冷冰冰的概率数值。这场惊心动魄的误诊事件,掀开了深度学习可解释性危机的冰山一角。 一、模型透明的"第一性原理" 1.1 可解释性的三维度量 ![可…...

RocketMq中RouteInfoManger组件的源码分析

1.前言 RouteInfoManager 是 RocketMQ 中 NameServer 的核心组件之一,主要负责管理和维护整个 RocketMQ 集群的路由元数据信息。里面包含一些非常核心的功能:存储和管理 Broker 信息(broker的注册,broker心跳的维护)&…...

java八股文-mysql

1. 索引 1.1 什么是索引 索引(index)是帮助Mysql高效获取数据的数据结构(有序).提高数据的检索效率,降低数据库的IO成本(不需要全表扫描).通过索引列对数据进行排序,降低数据排序成本,降低了CPU的消耗. 1.2 mysql索引使用的B树? 1. 没有使用二叉树,最坏情况o&…...

Cherno C++ P55 宏

这篇文章我们讲一下C当中的宏。其实接触过大型项目的朋友可能都被诡异的宏折磨过。 宏是在预处理当中,通过文本替换的方式来实现一些操作,这样可以不用反复的输入代码,帮助我们实现自动化。至于预处理的过程,其实就是文本编辑&am…...

MybatisMybatisPllus公共字段填充与配置逻辑删除

Mybatis/MybatisPllus公共字段填充与配置逻辑删除 在开发过程中,很多时候需要处理一些公共字段,例如:创建时间、修改时间、状态字段等。这些字段通常会在插入或更新数据时进行填充,以便记录数据的变化和状态。同时,逻…...

VS Code User和System版区别【推荐使用System版本】and VSCode+Keil协同开发之Keil Assistant

VS Code User和System版区别 Chapter1 VS Code User和System版区别1. 对于安装而言2. 结束语 Chapter2 VS Code 安装、配置教程及插件推荐插件: Chapter3 VSCodeKeil协同开发之Keil Assistant1. 效果展示2. Keil Assistant简介3. Keil Assistant功能特性4. 部署步骤…...

MongoDB:listDatabases failed : not master and slaveOk=false

个人博客地址:MongoDB:listDatabases failed : not master and slaveOkfalse | 一张假钞的真实世界 异常描述 如果在MongoDB的SECONDARY上查询数据时会报如下错误信息: > show databases; 2018-09-20T17:40:55.3770800 E QUERY [thread…...

Python的那些事第二十二篇:基于 Python 的 Django 框架在 Web 开发中的应用研究

基于 Python 的 Django 框架在 Web 开发中的应用研究 摘要 Django 是一个基于 Python 的高级 Web 框架,以其开发效率高、安全性和可扩展性强等特点被广泛应用于现代 Web 开发。本文首先介绍了 Django 的基本架构和核心特性,然后通过一个实际的 Web 开发项目案例,展示了 Dj…...

【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析④】

ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase04 作者:车端域控测试工程师 更新日期:2025年02月15日 关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-004测试用例 用例ID测试场景验证要点参考条款预期…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要,uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件,需要安装才能使用。 一、安装扩展插件 安装方法: 1.访问uniapp官方文档组件部分:组件使用的入门教程 | uni-app官网 点击左侧…...

CTF show 数学不及格

拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 ​ 根据题目…...

【bat win系统自动运行脚本-双击启动docker及其它】

win系统自动化运行脚本 创建一个 startup.bat右键编辑,输入以下示例 echo off start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"timeout /t 5docker start your_container_namestart cmd /k "conda activate your_conda_e…...

Spring Boot + Thymeleaf 防重复提交

在 Spring Boot 与 Thymeleaf 结合的 Web 应用中,防止重复提交可以采用token 机制 客户端禁用按钮的方式实现,在高并发场景下,考虑使用 Redis 存储 token 而非 Session。 第一步:后端实现 Controller public class FormControl…...