当前位置: 首页 > 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测试场景验证要点参考条款预期…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...