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

a38ca96e4d2b7a02b908572f7c7532c8.gif

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

在上篇文章中最小化安装的CentOS7部署KVM虚拟机,我们介绍了如何在最小化安装的CentOS 7系统中部署KVM组件和相关软件包。因为没有GUI图形界面,我们还特地介绍了如何通过命令行创建存储池和虚拟机。

接着前面的操作,我们今天首先将虚拟机开机。

virsh start vsr

a9f578db8dc567c4a86f9417ef3e6dad.png

这里需要注意一下,当虚拟机在没有开机的情况下,前面的ID编号是空的,只有在启动之后才会分配ID。所以建议对虚拟机的操作尽量保持以虚拟机名称为操作对象,命令里面也是这么介绍的。

e6591aa1db0ed55fe6095d9e50d4c820.png

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

7a523b77aa919d71ae9e897b2a47c180.png

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

e15e5c47c88bb389953802d2ce1ce888.png

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

3d937ce9828e17904f9495751dd37eb8.png

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

d6c139699dd81e92362cf1019565284b.png

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

6c52cc4545af8e5934095c850d13cc5e.png

对于该配置文件,顶部有着重提示:这是一个自动生成的文件,对它的更改可能会被覆盖并丢失。应使用命令virsh net-edit default对此配置进行更改或使用libvirt API的其他应用程序。

在下面的配置中,我们可以看到主要是DHCP相关的配置,里面还指向了dnsmasq目录下的相关文件,不过这两个文件都是空的。

我们再看一下virbr0.status中的内容。

5a5bea3879afb86a399c8c0148958155.png

可以看到,主要是记录了DHCP分配的地址信息。

然后我们登录虚拟机看一下。

56f5dd1f543ebe9d320677ac253b0d62.png

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

f84642ff7c6149dc6723d6454d201224.png

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

eeef8c743fcc6dd5bce8fdccea52d39b.png

这就说明,KVM主机默认还配置了DNS代理,怪不得要用dnsmasq呢。dnsmasq是一个轻量级的DNS服务器和DHCP服务器,可以同时为KVM虚拟机提供DNS服务和DHCP服务。

然后我们看一下虚拟机访问公网是否正常。

d8e61bc0da18ea5415449e2eb6c7fbec.png

没有问题。

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

9698907070bc01e906baa967b725a2e6.png

可以看到,IPv4转发已经被开启了,NAT转发中也使能了192.168.122.0/24整个网段的源地址,跟dnsmasq中的配置是一致的。

然后我们看一下virsh中网络相关的配置命令。

e96d63850440a2d58126e857577041cc.png

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

20302815f6acb229687ac9e71fad1a09.png

接下来,我想将默认的NAT模式修改为桥接模式,首先关闭并删除默认网络“default”。

virsh net-destroy default
virsh net-undefine default

9d6dc8c8c6afe46a7c4ccb9050a889cf.png

然后新建一个XML文件/var/lib/libvirt/network/bridge.xml,配置将虚拟网卡virbr0桥接到网卡ens224上。

<network>
  <name>bridge</name>
  <forward mode="bridge"/>
  <bridge name="ens224"/>
  <virtualport type="openvswitch"/>
</network>

92835e41593bcf00f73053ae7b85b941.png

然后就可以使用以下命令创建一个新的名为“bridge”的桥接网络:

virsh net-define /var/lib/libvirt/network/bridge.xml
virsh net-autostart bridge
virsh net-start bridge

56bfb07997afb0730a8dcd9a5adeb82a.png

注意,桥接的网卡在使用时需要注意以下几点限制:

1、确保桥接的物理网卡处于开启状态,且未被其他进程或服务所占用;

2、桥接的物理网卡不应该配置IP地址,因为IP地址已经被分配给桥接设备;

3、网卡在桥接模式下工作时,其MAC地址会被虚拟机的MAC地址替代,因此不能使用MAC地址来作为唯一的识别标志;

4、当虚拟机从网络中接收到数据时,数据包首先被发送到桥接设备上,如果不属于桥接设备上的任何虚拟机,那么数据包将被丢弃,这可能会导致网络阻塞。

5454d9d6fb9fe3969d9dfac0988d3d90.png

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

[main]
no-auto-default=ens224

然后重启网络服务就可以了。

5b729bb96fbdacd2c3e4726acf3bfbcb.png

9518a111c2ba5aab371269e64277887e.gif

长按二维码
关注我们吧

99840faebc11d2f4c6cf85e04378c32e.jpeg

e7549ea150c2b1fd5f3268d55a7823a4.png

最小化安装的CentOS7部署KVM虚拟机

网络之路1:初识网络

网络之路2:初识路由表

什么是OpenStack?

使用Python批量处理Excel的内容

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

全面升级:网工Python的最佳实践

OpenWrt配置单臂路由模式

OpenWrt部署配置openVPN服务器

OpenWrt配置openVPN客户端

将OpenWrt部署在x86服务器上

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

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

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

相关文章

python pyautogui.position实时输出坐标

import pyautogui import timewhile True:# 获取鼠标当前坐标x, y pyautogui.position()# 打印坐标print(f"当前坐标&#xff1a;({x}, {y})")# 暂停1秒time.sleep(1) 输出实时鼠标位置坐标

计算机等级考试二级Java-第一篇:Java语言概述

1.java语言的历史和发展 1991年由sun公司的James Gosling负责开发的&#xff0c;一个分布式代码系统&#xff08;Oak),最初是为家用消费电子产品&#xff08;电冰箱&#xff0c;电视机等&#xff09;进行编程&#xff0c;它是java语言的前身。 1994年sun公司件目标市场转向In…

仓库管理系统13--物资设置

1、添加窗体 2、设计UI界面 注意这个下拉框的绑定&#xff0c;你看到的选项是由displaymember决定&#xff0c;当你选择了哪个选项时&#xff0c;后台绑定这个选项的ID <UserControl x:Class"West.StoreMgr.View.GoodsView"xmlns"http://schemas.microsoft…

Discourse OpenAI 生成图片

正如一些讨论的&#xff0c;生成图片是比较贵的。 差不多到了 1 元 一张图了。 就 OpenAI 生成了上面 4 张图&#xff0c;费用 0.4 美元。 Discourse OpenAI 生成图片 - Discourse - iSharkFly

SSZipArchive 解压后 中文文件名乱码问题

不知道什么情况&#xff0c;做为一个三方广泛使用的框架库&#xff0c;会出现这种比较低级的问题&#xff01; 还有中文的文件名解压后显示乱码&#xff01; 经过深入研究排查&#xff0c;发现目录或文件名编码错误&#xff01;但是POD库&#xff0c;不可能直接在里面改&#…

上市公司银行专利申请数据集(2003-2022年)

数据简介&#xff1a;上市商业银行的专利申请数据是可作为金融科技创新水平的关键指标&#xff0c;这些数据反映了银行在金融技术领域的创新能力。发明专利因其创新性、技术深度和行业代表性&#xff0c;被赋予了特别的重视。遵循郭晔等人(2022)的研究方法&#xff0c;使用国家…

算法力扣刷题记录五【59.螺旋矩阵II】

前言 第五篇&#xff0c;继续。 力扣【59】&#xff1a;螺旋矩阵II &#xff08;Hint: 我认为blog记录得到最终代码的过程&#xff0c;所以有些代码片是逻辑错误&#xff08;会标明“有错”&#xff09;&#xff0c;体现改进&#xff0c;所以阅读时请不要错位&#xff0c;或复…

python FastAPI操作数据库实现注册登录

代码如下 from fastapi import FastAPI, APIRouter, HTTPException, status from pydantic import BaseModel from fastapi.responses import JSONResponse from typing import Optional from fastapi.middleware.cors import CORSMiddleware from utils.time import DateTime…

搭建抖音微短剧系统:源码部署与巨量广告回传全解析

在数字化浪潮中&#xff0c;抖音微短剧已成为内容创作的新宠。想要搭建一个高效的抖音微短剧系统&#xff0c;并实现与巨量广告的有效回传吗&#xff1f;本文将为您详细解析源码部署与广告回传的关键步骤。 一、源码部署&#xff1a;构建短剧系统的基石 源码是软件开发的起点…

ubuntu 挂载新硬盘 记录

Ref 安全自动挂载硬盘&#xff0c; https://berylbot.com/archives/mount-disks-ubuntu 挂载新硬盘, https://berylbot.com/archives/mount-disks-ubuntu 1. 检查新硬盘是否被系统识别 lsblk -f 查看所有硬盘的UUID, 其中 mount point 为空则表示尚未挂载的硬盘。 列出所有可用…

鸿蒙开发设备管理:【@ohos.batteryInfo (电量信息)】

电量信息 该模块主要提供电池状态和充放电状态的查询接口。 说明&#xff1a; 本模块首批接口从API version 6开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import batteryInfo from ohos.batteryInfo;属性 描述电池信息。 系统能…

三元和磷酸铁锂电池有什么区别?

现在的电动车大多都会使用到锂电池&#xff0c;在常见的锂电池分为两种&#xff0c;一种是三元锂电池另外一种是磷酸铁锂电池&#xff0c;面对这两种锂电池时&#xff0c;它们到底有什么不同&#xff1f; 1、材料不同 这两种锂电池的不同之处便是材料不同&#xff0c;磷酸铁锂…

C#和python端通信之使用共享内存

一、前言 本篇主要实验通过使用共享内存实现C#端代码和python端代码之间的通信&#xff0c;主要目的是相较于直接传输较大的数据&#xff08;例如图像数据&#xff09;&#xff0c;该方式更节省时间。 二、代码 C#端&#xff1a; 创建了一个大小为1的共享内存&#xff0c;名为…

搜维尔科技:SenseGlove Nova2国内首款支持手掌心力回馈手套开售

《SenseGlove Nova 2》现正全球发行中! 搜维尔科技独家代理最新上市的 SenseGlove Nova 2 是世上首款&#xff0c;也是目前市面上唯一一款提供手掌力回馈的无缐VR力回馈手套&#xff0c;它结合了三种最先进的反馈技术&#xff0c;包括主动反馈、强力反馈及震动反馈&#xff0c…

【Flink metric(1)】Flink指标系统的系统性知识:获取metric以及注册自己的metric

文章目录 一. Registering metrics&#xff1a;向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)2.4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三. Reporter ing四. System…

Linux线程互斥锁

目录 &#x1f6a9;看现象&#xff0c;说原因 &#x1f6a9;解决方案 &#x1f6a9;互斥锁 &#x1f680;关于互斥锁的理解 &#x1f680;关于原子性的理解 &#x1f680;如何理解加锁和解锁是原子的 &#x1f6a9;对互斥锁的简单封装 引言 大家有任何疑问&#xff0c;可…

昇思25天学习打卡营第4天|onereal

今天学习的内容是&#xff1a;ResNet50迁移学习 以下内容拷贝至教程&#xff0c;实话实话看不懂&#xff0c;迷迷糊糊都运行jupyter里的代码。走完程序&#xff0c;训练生成了一些图片。 ResNet50迁移学习 在实际应用场景中&#xff0c;由于训练数据集不足&#xff0c;所以很少…

python OpenCV 库中的 cv2.Canny() 函数来对图像进行边缘检测,并显示检测到的边缘特征

import cv2# 加载图像 image cv2.imread(4.png)# 使用 Canny 边缘检测算法提取边缘特征 edges cv2.Canny(image, 100, 200)# 显示边缘特征 cv2.imshow(Edges, edges) cv2.waitKey(0) cv2.destroyAllWindows() 代码解析&#xff1a; 导入 OpenCV 库&#xff1a; import cv2加…

【十】【QT开发应用】QT中文乱码解决方案

QT中文乱码解决方案 粘贴代码导致的乱码 粘贴别人的代码时,在记事本里面"过一遍",然后再粘贴到QTCreator 使用u8 配置QT 不使用QT使用VS QT自选编码格式 结尾 最后&#xff0c;感谢您阅读我的文章&#xff0c;希望这些内容能够对您有所启发和帮助。如果您有任何问…

新能源汽车CAN总线故障定位与干扰排除的几个方法

CAN总线是目前最受欢迎的现场总线之一,在新能源车中有广泛应用。新能源车的CAN总线故障和隐患将影响驾驶体验甚至行车安全,如何进行CAN总线故障定位及干扰排除呢? 目前,国内机动车保有量已经突破三亿大关。由于大量的燃油车带来严峻的环境问题,因此全面禁售燃油车的日程在…