3.KVM网络管理
  IS4yhiOomKTv 2023年11月02日 60 0

KVM网络管理

1、集线器hub属于一层物理层设备      
问题:共享冲突域和广播域
冲突域:两个设备同时发送数据(单、组、广播)会冲突,则处于同一个冲突域,反之不在。设备越多,发生冲突的几率越大。
广播域:一个设备发广播,另一个设备收到,则在同一个广播域中。
提高网络性能的办法是让冲突域和广播域不要太大。

2、网桥和交换机属于二层数据链路层设备,对冲突域进行切割,一个接口就是一个冲突域(24口、48口),所有接口在同一个广播域中。 

3、路由器属于三层网络层设备
网桥

3.KVM网络管理_Network

ubuntu三张网卡,对应三台机器,配成网桥,彼此之间可以通过网桥进行通讯
br0上面可以配置一个地址用于远程管理10.0.0.100,没有这个地址不能远程管理。
在linux的虚拟机上如何配置网桥
宿主机上的成对网卡vnet是和网桥virbr0桥接在一起的
虚拟机通过virbr0网桥是互通的,并且默认配置SNAT策略进行转换可以进行互联网访问

3.KVM网络管理_Network_02

在ubuntu宿主机上安装两个虚拟机,其网卡通过vnet3和vnet6桥接在br0上

每当linux上跑一台虚拟机时,会生成vnet新网卡,这个网卡和虚拟机上的网卡相对应,成对网卡
[root@ubunt ~]# brctl show 
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.525400c7b555	yes		virbr0-nic
						                	vnet0
                                            vnet1

宿主机上的成对网卡vnet是和网桥virbr0桥接在一起的
虚拟机通过virbr0网桥是互通的,并且默认配置SNAT策略进行转换可以进行互联网访问
[root@ubunt ~]# iptables -vnL -t nat
Chain LIBVIRT_PRT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    2   167 RETURN     all  --  *      *       192.168.122.0/24     224.0.0.0/24        
    0     0 RETURN     all  --  *      *       192.168.122.0/24     255.255.255.255     
   29  1732 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24
    
宿主机和虚拟机成对的vnet网卡为什么是桥接在virbr0上?
打开虚拟机图形管理页面--点击左上角图标第二个图标--点击NIC:a8:a0:cd--Network source:默认选择Virtual network 'default':NAT
相当于vmware上开启的虚拟机,每开启一个虚拟机,网卡NAT模式桥接在vmnet8网桥上
配置虚拟机网卡桥接在宿主机的物理网卡实现外部直接通讯

默认是桥接在virbr0上,改成桥接在宿主机的物理网卡eth0上

打开虚拟机图形管理页面--点击左上角图标第二个图标--点击NIC:a8:a0:cd--
Network source:默认选择Virtual network 'default':NAT  默认把虚拟机的NAT桥接在virbr0上
Network source:选择Host device eth0:macvtap和eth0桥接并和物理网卡共享一个网段,有DHCP会自动分配地址,就可以和web进行网络通讯了
Network source:选择Specify shared device name  自己选择和哪个网桥进行桥接,不用eth0了
例如:宿主机ubuntu20.04
打开虚拟机图形页面
Network source:选择Host device eth0:macvtap和eth0桥接并和物理网卡共享一个网段,有DHCP会自动分配地址
[root@ubunt ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:13:96:59 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.168/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe13:9659/64 scope link 
       valid_lft forever preferred_lft forever
       
例如:宿主机rucky8.6    
[root@rocky8 ~]#export DISPLAY=10.0.0.1:0.0
打开虚拟机图形页面
Network source:选择Macntap device--Device name:eth0--apply--开启虚拟机
[root@ubunt ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:13:96:59 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.169/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe13:9659/64 scope link 
       valid_lft forever preferred_lft forever
       
此时,两个宿主机之上的虚拟机都桥接在宿主机的eth0网卡上,两台宿主机的属于同一网段,其之上的虚拟机也可以跨宿主机进行通讯
用ubuntu的10.0.0.168连接rocky的10.0.0.196
[root@ubunt ~]#ssh 10.0.0.169 可以连接

上面地址都在10网段,自己配置或增加网段

进入虚拟机ubuntu
配置IP
ip a a 1.1.1.1/24 dev ens3
进入虚拟机rocky
配置IP
ip a a 1.1.1.2/24 dev enp1s0

ping 1.1.1.2 可通(是通过交换机联通的),10网段可外网通讯,1网段可以内部通讯
基于自定义网桥的虚拟网络
两个宿主机:
自定义网桥virbr1
新增eth1网卡:VMnet1仅主机模式  (配好之后,两台宿主机上的虚拟机就可以通过VMnet1相互通信了)
原wth0网卡: VMnet8NAT模式和外网相连
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 可以通
KVM多方式桥接和多网卡绑定
#实验准备:两台宿主机,每台宿主机4张网卡,其中两张nat模式(对外访问),两张仅主机模式(内部网络),两张网卡之间绑定实现负载均衡(mod=1 active-backup)

1.每个宿主机准备两个kvm虚拟机
mkdir /data/isos -pv                       #该目录放镜像文件

localectl set-locale LANG=en_US.UTF-8          #防止乱码

apt install qemu-kvm virt-manager libvirt-daemon-system       

qemu-img  create -f qcow2 /var/lib/libvirt/images/rocky8.qcow2 20G 

virt-install --virt-type kvm --name rocky8 --ram 1024 --vcpus 2 --cdrom=/data/isos/Rocky-8.6-x86_64-minimal.iso --disk path=/var/lib/libvirt/images/rocky8.qcow2 --network network=default  --graphics vnc,listen=0.0.0.0 --noautoconsole --os-variant=rhel8.2

2.修改网卡配置
#外部网络vmnet8
vim /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
    eth1:
      dhcp4: no
      dhcp6: no

  bonds:
    bond0:
      interfaces:
        - eth0
        - eth1
      addresses: [10.0.0.101/24]
      gateway4: 10.0.0.2
      nameservers:
        addresses: [223.6.6.6,180.76.76.76]
      parameters:
        mode: active-backup
        mii-monitor-interval: 100
        fail-over-mac-policy: active

#该网卡用于虚拟机直接桥接的物理网卡,实现对外通讯功能      Host device bond0:macvtap   


#内部网络 vmnet1 仅主机
vim /etc/netplan/02-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth2:
      dhcp4: no
      dhcp6: no
    eth3:
      dhcp4: no
      dhcp6: no

  bonds:
    bond1:
      interfaces:
        - eth2
        - eth3
      parameters:
        mode: active-backup
        mii-monitor-interval: 100

  bridges:
    virbr1:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.1.101/24]
      interfaces:
        - bond1
#该网卡绑定用于实现网桥功能,实现跨宿主机的网络间的通讯      bridge virb1:host device bond1  


3.virt-manager去配置
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年11月19日   21   0   0 ubuntuApachecentos
  P3nxyT0LRuwj   2023年11月19日   30   0   0 ubuntucentos
  mjtHZIki74si   2023年12月06日   31   0   0 ubuntubash