首页 > 其他分享 >10、KVM自定义网桥实现虚拟机的内部通讯

10、KVM自定义网桥实现虚拟机的内部通讯

时间:2023-06-04 18:03:47浏览次数:48  
标签:自定义 虚拟机 宿主机 网桥 rocky8 root virbr1

基于自定义网桥的虚拟网络
两个宿主机:
自定义网桥virbr1
新增eth1网卡:VMnet1仅主机模式  (配好之后,两台宿主机上的虚拟机就可以通过VMnet1相互通信了)
原wth0网卡: VMnet8NAT模式和外网相连

10、KVM自定义网桥实现虚拟机的内部通讯_KVM自定义网桥实现虚拟机的内部通讯

ubuntu宿主机
第一步:在宿主机添加仅主机网卡
第二步:创建网桥并进行网卡桥接
[root@ubunt ~]# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
      - 10.0.0.100/24
      gateway4: 10.0.0.2
      nameservers:
        addresses: [180.76.76.76, 223.6.6.6]
    eth1:
      dhcp4: no
      dhcp6: no
  bridges:
    virbr1:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.1.100/24]
      interfaces:
      - eth1
[root@ubunt ~]# netplan apply 
[root@ubunt ~]# ip a
13: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 7a:ca:80:02:2d:77 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.100/24 brd 10.0.1.255 scope global virbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::78ca:80ff:fe02:2d77/64 scope link 
       valid_lft forever preferred_lft forever
[root@ubunt ~]# brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.525400c7b555	yes		virbr0-nic
							vnet1
							vnet2
virbr1		8000.000c29139663	no		eth1


rocky宿主机
第一步:在宿主机添加仅主机网卡
第二步:创建网桥
[root@rocky8 network-scripts]#cat ifcfg-virbr1
DEVICE=virbr1
NAME=virbr1
STP=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=10.0.1.8
FREFIX=24
第三步:把网卡桥接在virbr1上
[root@rocky8 network-scripts]#cat ifcfg-virbr1-port0 
TYPE=Ethernet
NAME=virbr1-port0
DEVICE=eth1
ONBOOT=yes
BRIDGE=virbr1
第四步:生效
[root@rocky8 network-scripts]#nmcli connection reload
[root@rocky8 network-scripts]#nmcli connection up virbr1
[root@rocky8 network-scripts]#nmcli connection up virbr1-port0
[root@rocky8 network-scripts]#brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.5254008addad	yes		
virbr1		8000.000c292b1075	yes		eth1

现在两个宿主机是可以通过网桥ping通的
第五步:
ubuntu上的虚拟机
打开虚拟机图形页面选择自定义网桥
[root@ubunt ~]# virt-manager
Network source:选择Specify shared device name--Bridge name:virbr1--apply (需要关机修改)

rocky上的虚拟机
打开虚拟机图形页面选择自定义网桥
[root@rocky8 ~]#virt-manager
Network source:选择Bridge device--Device name:virbr1--apply (需要关机修改)
第六步:更改两个宿主机下虚拟机的IP
第一个虚拟机:进入虚拟机命令行页面查看是否有地址,无地址,是因为自己搭的网桥没有DHCP服务,自己配一个地址即可
[root@centos8 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="yes"
IPADDR=6.6.6.6
PREFIX=24
重启网卡服务
[root@rocky8 ~]# nmcli connection reload 
[root@rocky8 ~]# nmcli connection up eth0
ip a查看ip更改为6.6.6.6

第二个虚拟机:进入虚拟机命令行页面查看是否有地址,无地址,是因为自己搭的网桥没有DHCP服务,自己配一个地址即可
[root@centos8 ~]#vim /etc/sysconfig/network-scripts/ifcfg-enp1s0
TYPE="Ethernet"
BOOTPROTO="static"   (static也支持)
NAME="enp1s0"
DEVICE="yes"
IPADDR=6.6.6.8
PREFIX=24
重启网卡服务
[root@rocky8 ~]# nmcli connection reload 
[root@rocky8 ~]# nmcli connection up eth0
ip a查看ip更改为6.6.6.6
在第一台虚拟机上ping第二台虚拟机
ping 6.6.6.8 可以通

标签:自定义,虚拟机,宿主机,网桥,rocky8,root,virbr1
From: https://blog.51cto.com/mfc001/6411430

相关文章

  • 自定义异步注解
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>@RestController@Slf4jpublicclassThread04{@Autowiredprivate......
  • Java实现AWS S3 签名 自定义验证
    前言最近在开发文件存储服务,需要符合s3的协议标准,可以直接接入aws-sdk,本文针对sdk发出请求的鉴权信息进行重新组合再签名验证有效性,sdk版本如下<dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId>......
  • Java实现AWS S3 V4 Authorization自定义验证
    前言最近在开发文件存储服务,需要符合s3的协议标准,可以直接接入aws-sdk,本文针对sdk发出请求的鉴权信息进行重新组合再签名验证有效性,sdk版本如下<dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId>......
  • django 自定义FileField upload_to上传路径
    defuser_directory_path(instance,name):"""clean_data内容:fork,vinclean_data:K:fileV:record1301DL00220230602全部.txtK:nameV:record1301DL00220230602全部.txt"""filename=name[15:2......
  • 包含引用类型字段的自定义结构体,能作为map的key吗
    1.引言在Go语言中,map是一种内置的数据类型,它提供了一种高效的方式来存储和检索数据。map是一种无序的键值对集合,其中每个键与一个值相关联。使用map数据结构可以快速地根据键找到对应的值,而无需遍历整个集合。在Go语言中,map是一种内置的数据类型,可以通过以下方式声明和初......
  • 包含引用类型字段的自定义结构体,能作为map的key吗
    1.引言在Go语言中,map是一种内置的数据类型,它提供了一种高效的方式来存储和检索数据。map是一种无序的键值对集合,其中每个键与一个值相关联。使用map数据结构可以快速地根据键找到对应的值,而无需遍历整个集合。在Go语言中,map是一种内置的数据类型,可以通过以下方式声明和......
  • hibernate中自定义主键生成器
    自定义hibernate主键生成机制[url]http://walle1027.iteye.com/blog/1114824[/url]org.hibernate.id.MultipleHiLoPerTableGenerator主键生成器[url]http://suzefeng8806.iteye.com/blog/923511[/url][url]http://zhongrf.iteye.com/blog/972303[/url]......
  • dubbo源码学习(二) : spring 自定义标签
    做dubbo的配置时很容易发现,dubbo有一套自己的标签,提供给开发者配置,其实每一个标签对应着一个实体,在容器启动的时候,dubbo会对所有的配置进行解析然后将解析后的内容设置到实体里,最终dubbo会根据实体中的值生成贯穿全局的统一URL。利用自定义标签使配置简单明......
  • 在 Spring 中自定义 scope
    大家对于Spring的scope应该都不会默认。所谓scope,字面理解就是“作用域”、“范围”,如果一个bean的scope配置为singleton,则从容器中获取bean返回的对象都是相同的;如果scope配置为prototype,则每次返回的对象都不同。一般情况下,Spring提供的scope都能满足日常应用的......
  • 5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机
    KVM的功能主要体现在利用KVM的硬件辅助性虚拟化可以提高处理速度。但在虚拟机中,有些硬件不是KVM来实现加速的,如磁盘、内存、网络的性能,如果更好的提升速度,需要安装半虚拟化驱动半虚拟化驱动在软件层通过修改源代码让硬件的操作被虚拟机和宿主机所识别半虚拟化驱动--virtio红帽RHE......