KVM NAT 模型

目录

NAT原理

 virbr0与virbr0-nic

virbr0-nic作用

关于kvm中的网桥和virbr0-nic网卡需注意以下几点:

NAT原理

 virbr0与virbr0-nic

[zyq@zyq ~]$ ip a
...
6: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 52:54:00:dc:37:d8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.254/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:dc:37:d8 brd ff:ff:ff:ff:ff:ff
...

如上面的输出所示,virbr0与virbr0-nic的MAC地址都是同一个地址,所以这两个接口本质是同一个接口。

virbr0-nic作用

在kvm中每次通过kvm创建一个网桥都会自动在该网桥下创建两个接口,与网桥同名的virbr0接口代表这个虚拟网桥,可以通过它来配置网桥的参数,virbr0-nic接口使虚拟机可以通过虚拟网络连接到宿主机和其他物理计算机。网桥对应的配置文件在/etc/libvirt/qemu/networks下,内容类似如下:

[root@zyq networks]# cat default.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>default</name>
  <uuid>67be8739-6d15-4be4-a3c9-241390ea17d5</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:dc:37:d8'/>
  <ip address='192.168.122.254' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.1' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

关于kvm中的网桥和virbr0-nic网卡需注意以下几点:

  • 网桥virbr0拥有ip地址,地址在与网桥同名的接口virbr0下。
  • 网桥上可以配置DHCP服务。
  • 网桥下的nic网卡主要功能为虚拟机与宿主机之间进行通信,当无需与宿主机网卡通信可以删除此网卡,删除命令为 ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ]
  • 网桥下的nic网卡与同一个网桥下的虚拟机通信无关。
  • 网桥下的nic网卡,状态永远为down,即便是正在使用中,状态也为down,收发包数量永远为0。
  • 虚拟机通过网桥下的vnet口动态获取IP地址。

猜你喜欢

转载自blog.csdn.net/zyqash/article/details/130334661
KvM
NAT