通过命令行配置调整KVM的虚拟网络

正文共:1234 字 20 图,预估阅读时间:2 分钟
在上篇文章中(最小化安装的CentOS7部署KVM虚拟机),我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面,我们还特地介绍了如何通过命令行创建存储池和虚拟机。
接着前面的操作,我们今天首先将虚拟机开机。
virsh start vsr 
这里需要注意一下,当虚拟机在没有开机的情况下,前面的ID编号是空的,只有在启动之后才会分配ID。所以建议对虚拟机的操作尽量保持以虚拟机名称为操作对象,命令里面也是这么介绍的。

然后我们还是使用VNC客户端连接到虚拟机的图形界面,IP地址使用KVM主机的IP地址192.168.1.93,端口使用创建虚拟机时配置的5901。

然后我们按照正常的设备配置进行操作。首先,我们可以看到VSR自动获取到了192.168.122.25这个地址,和virbr0属于同一网段。按照我们之前通过“虚拟系统管理器VMM”配置的经验(不会吧!KVM竟然不支持磁盘的精简置备!?),这个虚拟网卡默认连接到默认的虚拟网络的,启用了DHCP,并且开启了NAT转发。

然后,我在内核中还注意到了一个现象,那就是又多了一个vnet0的网卡,这个网卡在安装完KVM的时候还是不存在的。

接下来,我们看看KVM中网络的相关配置。

可以看到,有两个文件为非空状态。其中default.conf的文件内容如下:

对于该配置文件,顶部有着重提示:这是一个自动生成的文件,对它的更改可能会被覆盖并丢失。应使用命令virsh net-edit default对此配置进行更改或使用libvirt API的其他应用程序。
在下面的配置中,我们可以看到主要是DHCP相关的配置,里面还指向了dnsmasq目录下的相关文件,不过这两个文件都是空的。
我们再看一下virbr0.status中的内容。

可以看到,主要是记录了DHCP分配的地址信息。
然后我们登录虚拟机看一下。

我们可以看到,VSR通过DHCP获取到了192.168.122.25这个IP地址。再看一下路由表信息。

可以看到下发了一条默认路由,下一跳指向网关192.168.122.1。同时还分配了一个默认的DNS服务器。

这就说明,KVM主机默认还配置了DNS代理,怪不得要用dnsmasq呢。dnsmasq是一个轻量级的DNS服务器和DHCP服务器,可以同时为KVM虚拟机提供DNS服务和DHCP服务。
然后我们看一下虚拟机访问公网是否正常。

没有问题。
正常来讲,CentOS主机的IPv4转发默认是关闭的,并且没有使能NAT功能,我们看看现在的相关配置。

可以看到,IPv4转发已经被开启了,NAT转发中也使能了192.168.122.0/24整个网段的源地址,跟dnsmasq中的配置是一致的。
然后我们看一下virsh中网络相关的配置命令。

首先查看一下默认网络default的信息。

接下来,我想将默认的NAT模式修改为桥接模式,首先关闭并删除默认网络“default”。
virsh net-destroy default
virsh net-undefine default 
然后新建一个XML文件/var/lib/libvirt/network/bridge.xml,配置将虚拟网卡virbr0桥接到网卡ens224上。
<network><name>bridge</name><forward mode="bridge"/><bridge name="ens224"/><virtualport type="openvswitch"/>
</network> 
然后就可以使用以下命令创建一个新的名为“bridge”的桥接网络:
virsh net-define /var/lib/libvirt/network/bridge.xml
virsh net-autostart bridge
virsh net-start bridge 
注意,桥接的网卡在使用时需要注意以下几点限制:
1、确保桥接的物理网卡处于开启状态,且未被其他进程或服务所占用;
2、桥接的物理网卡不应该配置IP地址,因为IP地址已经被分配给桥接设备;
3、网卡在桥接模式下工作时,其MAC地址会被虚拟机的MAC地址替代,因此不能使用MAC地址来作为唯一的识别标志;
4、当虚拟机从网络中接收到数据时,数据包首先被发送到桥接设备上,如果不属于桥接设备上的任何虚拟机,那么数据包将被丢弃,这可能会导致网络阻塞。

所以,我们看到,应该是因为使用了NetworkManager的原因,自动为网卡ens224分配了IP地址,导致虚拟机无法获取IP地址。然后我们修改NetworkManager的配置文件/etc/NetworkManager/NetworkManager.conf,在[main]部分添加配置使其不再管理网卡ens224:
[main]
no-auto-default=ens224 然后重启网络服务就可以了。


长按二维码
关注我们吧


最小化安装的CentOS7部署KVM虚拟机
网络之路1:初识网络
网络之路2:初识路由表
什么是OpenStack?
使用Python批量处理Excel的内容
如何使用Python提取Excel中固定单元格的内容
全面升级:网工Python的最佳实践
OpenWrt配置单臂路由模式
OpenWrt部署配置openVPN服务器
OpenWrt配置openVPN客户端
将OpenWrt部署在x86服务器上
通过Nginx做一个openVPN配置文件下载页面
相关文章:
通过命令行配置调整KVM的虚拟网络
正文共:1234 字 20 图,预估阅读时间:2 分钟 在上篇文章中(最小化安装的CentOS7部署KVM虚拟机),我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面,我们…...
Apache POI操作excel
第1部分:引言 1.1 Apache POI简介 Apache POI是一个开源的Java库,用于处理Microsoft Office文档。自2001年首次发布以来,它已经成为Java社区中处理Office文档事实上的标准。Apache POI支持HSSF(用于旧版本的Excel格式࿰…...
Python错误集锦:faker模块生成xml文件时提示:`xml` requires the `xmltodict` Python library
原文链接:http://www.juzicode.com/python-error-faker-exceptions-unsupportedfeature-xml-requires-the-xmltodict-python-library 错误提示: faker模块生成xml文件时提示: xml requires the xmltodict Python library Traceback (most r…...
Vue3-尚硅谷笔记
1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…...
RockChip Android12 System之MultipleUsers
一:概述 System中的MultipleUsers不同于其他Preference采用system_dashboard_fragment.xml文件进行加载,而是采用自身独立的xml文件user_settings.xml加载。 二:Multiple Users 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="S…...
第12天:前端集成与Django后端 - 用户认证与状态管理
第12天:前端集成与Django后端 - 用户认证与状态管理 目标 整合Django后端与Vue.js前端,实现用户认证和应用状态管理。 任务概览 设置Django后端用户认证。创建Vue.js前端应用。使用Vuex进行状态管理。实现前端与后端的用户认证流程。 详细步骤 1. …...
在ROS2中蓝牙崩溃的原因分析
在ROS2中,如果蓝牙模块没有成功启动,可能的原因有几个方面: 1. **硬件问题**:首先需要确认蓝牙硬件本身是否正常工作,包括检查蓝牙模块是否正确连接到系统,以及模块是否存在物理损坏。 2. **驱动问题**&a…...
【PythonWeb开发】Flask中间件钩子函数实现封IP
在 Flask 框架中, 提供了几种类型的钩子(类似于Django的中间件),它们是在请求的不同阶段自动调用的函数。这些钩子让你能够对请求和响应的处理流程进行扩展,而无需修改核心代码。 Flask钩子的四种类型 before_first_r…...
可以一键生成热点营销视频的工具,建议收藏
在当今的商业环境中,热点营销已经成为了一种非常重要的营销策略。那么,什么是热点营销呢?又怎么做热点营销视频呢? 最近高考成绩慢慢公布了,领导让结合“高考成绩公布”这个热点,做一个关于企业或产品的营销…...
Unity Meta Quest 开发:关闭 MR 应用的安全边界
社区链接: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 📕教程说明 这期教程我将介绍如何在应用中关闭 Quest 系统的安全边界。 视频讲解: https://www.bilibili.com/video/BV1Gm42157Zi …...
4.sql注入攻击(OWASP实战训练)
4.sql注入攻击(OWASP实战训练) 引言1,实验环境owasp,kali Linux。2,sql注入危害3,sql基础回顾4,登录owasp5,查询实例(1)简单查询实例(2࿰…...
前端Web开发HTML5+CSS3+移动web视频教程 Day1
链接 HTML 介绍 写代码的位置:VSCode 看效果的位置:谷歌浏览器 安装插件 open in browser: 接下来要保证每次用 open in browser 打开的是谷歌浏览器。只需要将谷歌浏览器变为默认的浏览器就可以了。 首先进入控制面板,找到默…...
中医实训室:在传统针灸教学中的应用与创新
中医实训室是中医教育体系中的重要组成部分,尤其在传统针灸教学中,它扮演着无可替代的角色。这里是理论与实践的交汇点,是传统技艺与现代教育理念的碰撞之地。本文将探讨中医实训室在传统针灸教学中的应用与创新实践。 首先,实训室…...
React Hooks 小记(七)_useReducer
useReducer usereducer 相当于 复杂的 useState 当状态更新逻辑较复杂时可以考虑使用 useReducer。useReducer 可以同时更新多个状态,而且能把对状态的修改从组件中独立出来。 相比于 useState,useReducer 可以更好的描述“如何更新状态”。例如&#…...
甲子光年专访天润融通CEO吴强:客户经营如何穿越低速周期?
作者|陈杨、编辑|栗子 社会的发展从来都是从交流和联络开始的。 从结绳记事到飞马传信,从电话电报到互联网,人类的联络方式一直都在随着时代的发展不断进步。只是传统社会通信受限于技术导致效率低下,对经济社会产生影…...
还不到6个月,GPTs黄了
相比起来,人们还不如使用一个足够强大、灵活且通用的AI助手来满足各类复杂需求。更严重的是一些独立GPTs显露出的安全隐患。除此之外,最大的问题在于OpenAI模糊不清的货币化政策。 文章正文 上周,不少人发现微软官网忽然更新了一条“GPT Bu…...
IOS Swift 从入门到精通:BlurEffect BlendMode stroke
文章目录 UIBlurEffectBlendModestroke基本用法:描边样式:与strokeBorder的区别:组合使用:自定义形状:UIBlurEffect 在Swift中,实现模糊效果通常是通过UIKit框架中的UIBlurEffect类来完成的,这通常被称作毛玻璃效果。 **创建UIBlurEffect实例:**选择一个模糊效果的样…...
西木科技Westwood-Robotics人型机器人Bruce配置和真机配置
西木科技Westwood-Robotics人型机器人Bruce配置和真机配置 本文内容机器人介绍Bruce机器人Gazebo中仿真代码部署Bruce真机代码部署 本文内容 人形机器人Brcue相关介绍docker中安装Gazebo并使用Bruce机器人控制器更换环境配置 机器人介绍 公司:西木科技Westwood-R…...
【招聘贴】JAVA后端·唯品会·BASE新加坡
作者|老夏(题图:公司业务介绍页) “ 请注意,这两个岗是BASE新加坡的,欢迎推荐给身边需要的朋友(特别是在新加坡的)。” VIP海外业务-产品技术团队,这两个岗位属于后端工程组的岗&…...
CVPR2024|vivo提出使用对抗微调获得泛化性更强的SAM,分割性能直接登顶 SOTA!
在计算机视觉不断发展的领域中,基础模型已成为一种关键工具,显示出对多种任务的出色适应性。其中,由 Meta AI 开发的 Segment Anything Model(SAM)在图像分割任务中表现杰出。然而,和其他类似模型一样&…...
Open UI5 源代码解析之735:DynamicPageAccessibleLandmarkInfo.js
源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.f\src\sap\f\DynamicPageAccessibleLandmarkInfo.js DynamicPageAccessibleLandmarkInfo 文件深度解析 文件定位与总体判断 当前分析对象位于 src/sap.f/src/sap/f/DynamicPageAccessibleLandmarkInfo.j…...
MiniCPM-V-2_6嵌入式AI应用实战:STM32F103C8T6边缘推理集成
MiniCPM-V-2_6嵌入式AI应用实战:STM32F103C8T6边缘推理集成 最近几年,AI模型越来越“小”,开始往各种硬件设备里钻。你可能听说过在手机、树莓派上跑AI,但有没有想过,在一块只有指甲盖大小、主频72MHz、内存才20KB的S…...
YOLOv8鹰眼目标检测问题解决:常见部署错误与使用技巧汇总
YOLOv8鹰眼目标检测问题解决:常见部署错误与使用技巧汇总 1. 引言:为什么选择YOLOv8鹰眼目标检测 YOLOv8作为当前计算机视觉领域最先进的目标检测模型之一,以其卓越的实时性和准确性赢得了广泛认可。鹰眼目标检测镜像基于Ultralytics官方YO…...
3个突破性技术,让抖音无水印视频下载效率提升200%
3个突破性技术,让抖音无水印视频下载效率提升200% 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...
用计算机科学与技术的视角,把谈恋爱流程化:构建可运行、可调试、可迭代的情感操作系统
用计算机科学与技术的视角,把谈恋爱流程化:构建可运行、可调试、可迭代的情感操作系统 善灵驿站 成长心理 技术思维深度融合系列 作者:培风图南以星河揽胜 专栏链接:善灵驿站 📌 导读:为什么技术人更需要…...
Typora搭配PicGo实现Markdown图片自动上传到Gitee的保姆级教程
Typora与PicGo联动:打造Gitee图床自动化工作流 对于长期使用Markdown写作的技术博主和文档工程师来说,图片管理始终是个痛点。本地图片导致文档迁移困难,第三方图床存在失效风险,而手动上传又严重打断创作流程。这套基于TyporaPic…...
sklearn Pipeline:特征工程和建模流水线
你一定写过这样的代码:先对年龄做分箱,再对职业做 one-hot,然后把处理好的列拼起来,最后喂给模型。每一步都是散装的 fit_transform,变量名从 X_binned 到 X_encoded 到 X_final,稍不留神就在测试集上用了训…...
从MP3到微信语音:一份完整的Java音频格式转换工具链搭建指南(附FFmpeg与silk_v3_encoder配置)
Java音频处理实战:构建MP3到微信语音的高效转换工具链 引言 在即时通讯应用开发中,音频消息的处理一直是技术难点之一。特别是当我们需要将常见的MP3格式转换为微信、QQ等平台专用的SILK编码格式时,开发者往往需要跨越多个技术环节。本文将带…...
零成本构建3D资源库:Firefox专属Sketchfab模型下载方案
零成本构建3D资源库:Firefox专属Sketchfab模型下载方案 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 在数字内容创作领域,高质量3D模型资…...
基于Qt框架的PC端学生信息管理系统设计与实现
1. 为什么选择Qt开发学生信息管理系统? 第一次接触学生信息管理系统开发时,我尝试过用Java Swing、Python Tkinter等多种GUI框架,最后发现Qt才是真正的"生产力工具"。Qt的信号槽机制让界面交互变得异常简单,跨平台特性又…...
