通过命令行配置调整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配置文件下载页面

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

魔众一物一码溯源防伪系统——守护品牌,守护信任!

在这个充满竞争的市场上&#xff0c;如何确保你的产品不被仿冒&#xff0c;如何赢得消费者的信任&#xff1f;魔众一物一码溯源防伪系统&#xff0c;为你提供一站式解决方案&#xff0c;守护你的品牌&#xff0c;守护消费者的信任&#xff01; &#x1f50d;魔众一物一码溯源防…

java的字节符输出流基类、File Writer类和Buffered Writer类

一、字节符输出流基类&#xff1a;Writer 1.属于抽象类 2.常用方法 二、字节符输出流Flie Writer类 1.是writer类的子类 2.以字符为数据处理单元向文本文件中写数据 3.示例 4.实现步骤 三、BufferedWriter类 1.是Writer类的子类。 2.带有缓冲区 默认情况下&#xff0c…

第三天 哎 怎么也是在自学的路上越走越远 本科的实习 放荡不羁 今天的训练 我小心翼翼

const 指针 不可以改变的 不能修改的指向的对象 const 可以放在int*前也可以放后面 *指针 const 常量 可以一起读出来 区分 普通变量 和指针变量 普通变量和指针变量是编程中的两种基本类型&#xff0c;它们在内存中的表现和用途有所不同。下面是它们的区分和详细解释&#…

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

前几天不能运行代码&#xff0c;经过排查是因为我的浏览器是搜狗的&#xff0c;换成Chrome问题解决了。按照提示学习了《应用实践/计算机视觉/FCN图像语义分割.ipynb》并且尝试运行代码&#xff0c;开始训练&#xff0c;最后看到图片变化。 网络流程 FCN网络的流程如下图所示&…

Power BI 插件 DAX Studio 安装配置

1&#xff0c;dax studio 下载地址 DAX Studio | DAX Studio 2&#xff0c;安装配置&#xff08;几乎是默认&#xff09; 3&#xff0c;使用方法 打开DAX studio 默认支持Power povit, PBI/SSDT ,Tabular server。先打开PBI再打开DAX studio &#xff0c;不然如果只打开Dax …

初识Java(二)

初识Java的main方法 1.1 main方法示例 public class world {public static void main(String[] args) {System.out.println("hello,world!");}}通过上述代码&#xff0c;我们可以看到一个完整的Java程序的结构&#xff0c;Java程序的结构由如下三个部分组成&#x…

从零开始学docker(四)-安装mysql及主从配置(一)

mysql MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&#xff0c;关…

线性代数基础概念:行列式

目录 线性代数基础概念&#xff1a;行列式 1. 行列式的定义 1.1 递归定义 1.2 代数余子式定义 1.3 几何定义 2. 行列式的性质 2.1 行列式等于其转置的行列式 2.2 交换两行或两列&#xff0c;行列式变号 2.3 将一行或一列乘以一个数 k&#xff0c;行列式乘以 k 2.4 将…

【Java】Java序列化和反序列化

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 # Java中的序列化和反序列化 在Java中&#xff0c;序列化是将对象的状态写入字节流的机制。它主要用于Hibernate…

【活动】搜维尔科技携Xsens邀您出席世界人工智能大会

展会介绍 由外交部、国家发展改革委、教育部、科技部、工业和信息化部、国家网信办、中国科学院、中国科协和上海市政府共同主办的世界人工智能大会&#xff08;WAIC&#xff09;&#xff0c;将于7月4日-7日在上海举行。围绕“以共商促共享 以善治促善智”主题&#xff0c;打造…

VNode是什么?

什么是VNode VNode的全称是Virtual Node,也就是虚拟节点.它是指一个抽象的节点对象&#xff0c;用于描述真实DOM中的元素。在前端框架中&#xff0c;通过操作VNode来实现虚拟DOM&#xff0c;从而提高性能。 VNode的本质 本质上是JavaScript对象,这个对象就是更加轻量级的对DOM…

越有水平的领导,越擅长用这3个字来管人,怪不得执行力强

越有水平的领导&#xff0c;越擅长用这3个字来管人&#xff0c;怪不得执行力强 第一个字&#xff1a;“实” 要想提高执行力&#xff0c;必须发扬务实、实干、刻苦勤勉的工作精神。纸上谈兵&#xff0c;夸夸其谈的事情少做&#xff0c;多行动&#xff0c;少说话。 沉浸在表面…

打破数据分析壁垒:SPSS复习必备(十一)

一、方差分析 方差分析的应用条件如下&#xff1a; &#xff08;1&#xff09;独立&#xff0c;各组数据相互独立&#xff0c;互不相关&#xff1b; &#xff08;2&#xff09;正态&#xff1a;即各组数据符合正态分布&#xff1b; &#xff08;3&#xff09;方差齐性&…

多线程思维导图

多线程 线程是一个程序内部的一条执行流程 多线程的好处————消息通信&#xff0c;网页浏览等等 多线程是指从软硬件上实现多条执行流程的技术 并发和并行同时执行 多线程的创建 Java.Long包下的Thread类 定义一个子类…

突然断供中国!OpenAI变CloseAI,用户连夜搬家

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 OpenAI&#xff0c;这把变成CloseAI了。 6月25日早上&#xff0c;有中国开发者表示收到了来自OpenAI的“警告信”&#xff1a;将采取额外措施停止其不支持的地区的API&#xff08;应用接口&#xff09…

我对AI赋能的未来畅想

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

【Java Web】XML格式文件

目录 一、XML是什么 二、常见配置文件类型 *.properties类型&#xff1a; *.xml类型&#xff1a; 三、DOM4J读取xml配置文件 3.1 DOM4J的使用步骤 3.2 DOM4J的API介绍 一、XML是什么 XML即可扩展的标记语言&#xff0c;由标记语言可知其基本语法和HTML一样都是由标签构成的文件…

springboot vue 开源 会员收银系统 (8) 收银台、开卡结算及订单的优化升级

前言 完整版演示 开发版演示 在之前的开发进程中&#xff0c;我们基本搭建了收银台的基础。这次着重梳理一下收银台相关功能的开发及优化情况。 1.会员查询与开卡 收银台新增加了会员筛选功能 并且会员和会员卡是一对多的关系 理论可以开无数张卡 默认选择一张卡 会员卡选择…

stm32学习笔记---TIM输出比较(代码部分)PWM驱动LED呼吸灯/舵机/直流电机

目录 第一个工程&#xff1a;PWM驱动LED呼吸灯 PWM.c 初始化PWM步骤 TIM的库函数 TIM_OCStructInit TIM_CtrlPWMOutputs TIM_CCxCmd和TIM_CCxNCmd TIM_SelectOCxM 四个单独更改CCR寄存器值的函数 四个初始化定时器的通道的函数 给结构体一次性都赋初始值的函数 如何…

从写下第1个脚本到年薪40W,我的测试开发心路历程!

对于任何职业来说&#xff0c;薪资始终都会是众多追求的重要部分。前几年测试行业还是风口&#xff0c;但是随着不断新鲜血液的加入&#xff0c;再加上就业大环境不好&#xff0c;企业也都在“降本增效”。目前内卷也是越来越激烈。不得不承认当下的现状&#xff0c;已经不仅仅…