云原生技术之KVM之虚拟网络交换机

举报
tea_year 发表于 2025/08/12 17:39:41 2025/08/12
【摘要】 虚拟网络交换机1. 虚拟网络Host configuration1.1 查看虚拟网络宿主机操作[root@localhost ~]# virsh net-list --all 名称               状态     自动开始  持久---------------------------------------------------------- default           ...

虚拟网络交换机


1. 虚拟网络

Host configuration

1.1 查看虚拟网络

宿主机操作
[root@localhost ~]# virsh net-list --all
名称               状态     自动开始  持久
----------------------------------------------------------
default              活动              

[root@localhost ~]# virsh net-edit default
#下面看地址配置xml
[root@localhost ~]# ls /etc/libvirt/qemu/networks/autostart/
[root@localhost ~]# sysctl -a | grep ip_forward

ip_forward内容为0时使用此命令。
net.ipv4.ip_forward 的作用
定义:控制 Linux 系统的IP 数据包转发功能。
值为 1:允许系统将收到的 IP 数据包转发到其他网络接口(如路由功能)。
值为 0:禁用转发,仅处理发往本机的数据包。

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
加载设置并应用到当前运行的内核中的命令
[root@localhost ~]# sysctl -p


1.2 查看防火墙状态

9.png


10.png

1.3创建虚拟网络(虚拟网络交换机)

1.3.1 通过virt-manager创建虚拟网络

11.png



给网络起名字

48.png

49.png

DNS域名必须和网络名称一致

13.png

14.png


查看虚拟网络

宿主机使用命令查看网桥验证虚拟网络是否创建成功

#查看是否有新添加的网桥,结果中有两个网桥,说明已经添加成功!
[root@localhost ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400e4ce5a       yes             virbr0-nic
                                                       vnet0
                                                       vnet1
virbr1          8000.5254009538bc       yes             virbr1-nic

使用ip a命令,查看virbr1对应的是否是虚拟网络设置的网段
[root@localhost ~]# ip a
virbr1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
   link/ether 52:54:00:95:38:bc brd ff:ff:ff:ff:ff:ff
   inet 192.168.110.1/24 brd 192.168.110.255 scope global virbr1
      valid_lft forever preferred_lft forever


虚拟机连接新添加的网络

使用virt-manager选择刚创建的虚拟网络,点击应用,然后强制关机---运行

15.png


虚拟机上使用ip addr命令验IP地址是否变成虚拟网卡的网段

虚拟机操作
[root@localhost ~]# ip addr

宿主机上查看是否有相应的网络文件

宿主机操作
[root@localhost ~]# ls /etc/libvirt/qemu/networks



1.3.2 通过配置文件创建虚拟网络

宿主机操作

1.查看虚拟网络的配置文件,依据此配置自己创建一个虚拟网络
[root@localhost ~]# cd /etc/libvirt/qemu/networks

2.查看虚拟网络配置。标注释的地方是需要修改的地方
[root@localhost ~]# cat default.xml
<network>
<!-- 虚拟网络名称 -->
 <name>default</name>
 <!-- 虚拟网络UUID -->
 <uuid>86004e0a-b375-4587-8b4c-ffc41fd8d5c1</uuid>
 <forward mode='nat'/>
 <!-- 网桥名称 -->
 <bridge name='virbr0' stp='on' delay='0'/>
 <!-- 虚拟网络mac地址 -->
 <mac address='52:54:00:e4:ce:5a'/>
  <!-- 虚拟网络IP范围 -->
 <ip address='192.168.122.1' netmask='255.255.255.0'>
   <dhcp>
     <range start='192.168.122.2' end='192.168.122.254'/>
   </dhcp>
 </ip>
</network>

3.导出名为 "default" 的默认网络配置,并将其保存到一个名为 network2.xml 的文件中。
[root@localhost ~]# virsh net-dumpxml default > network2.xml

4.由于网络配置文件中需要用到UUID,所以生成UUID作为备用
[root@localhost ~]# uuidgen
aa61229b-aea0-4c83-8548-9eae0f0c06be

5.由于网络配置文件中需要用到MAC地址,MCK地址前三组保留,生成后三组
[root@localhost ~]# openssl rand -hex 3 |sed -r 's/(..)/\1:/g;s/.$//'
35:bb:ec

6.编写网络文件,注意将<network>标签的属性去掉
[root@localhost ~]# vim network2.xml
<!-- network标签去掉属性 -->
<network>
 <name>network2</name>
 <!-- 把生成的UUID拿过来 -->
 <uuid>aa61229b-aea0-4c83-8548-9eae0f0c06be</uuid>
 <forward mode='nat'>
   <nat>
     <port start='1024' end='65535'/>
   </nat>
 </forward>
 <!-- 修改网桥名 -->
 <bridge name='virbr2' stp='on' delay='0'/>
 <!-- 替换后三位 -->
 <mac address='52:54:00:35:bb:ec'/>
 <!-- 修改IP网段,和IP范围 -->
 <ip address='192.168.120.1' netmask='255.255.255.0'>
   <dhcp>
     <range start='192.168.120.2' end='192.168.120.254'/>
   </dhcp>
 </ip>
</network>

7.基于配置文件生成网络
[root@localhost ~]# virsh net-define network2.xml
network2定义网络network2.xml

8.查看虚拟网络状态,发现新的虚拟网络没有启动
[root@localhost ~]# virsh net-list --all
名称               状态     自动开始  持久
----------------------------------------------------------
default              活动              
network2             不活跃            
smartgonet1          活动              


9.开启虚拟网络,并设置开机自启
[root@localhost ~]# virsh net-start network2
[root@localhost ~]# virsh net-autostart network2
查看状态
[root@localhost ~]# virsh net-list --all

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。