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

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...