本文介绍如何通过分析 KVM 虚拟网络配置文件来确定网络类型是 bridge 还是 NAT,以及如何找到每个虚拟网络对应的实际物理网卡名称。

以下是一个 KVM 虚拟网络配置文件的示例:

<network>
  <name>pppp</name>
  <uuid>fef7b87f-62cb-413d-8aa0-f0563a8b596f</uuid>
  <forward dev='enp0s3' mode='nat'>
    <interface dev='enp0s3'/>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:17:a2:0f'/>
  <domain name='pppp' localOnly='yes'/>
  <dns>
    <host ip='192.168.100.1'>
      <hostname>gateway</hostname>
    </host>
  </dns>
  <ip address='192.168.100.1' netmask='255.255.255.0' localPtr='yes'>
  </ip>
</network>

判断网络类型:

  • bridge 网络: 如果配置文件中存在 <bridge> 标签,则该网络为 bridge 网络。<bridge> 标签的 name 属性值即为该网络对应的物理网卡名称。
  • NAT 网络: 如果配置文件中存在 <forward> 标签,并且 mode 属性值为 'nat',则该网络为 NAT 网络。

查找实际物理网卡名称:

  • bridge 网络: 物理网卡名称可以在 <bridge> 标签的 name 属性中找到。
  • NAT 网络: NAT 网络通常不直接绑定到特定的物理网卡。它们使用主机的网络连接进行网络地址转换。

示例分析:

__debug_bin3625533195 INFO 2023-07-10 19:41:41.041127 /home/wufan/workspace/kvm_serv/network/service/Network_test.go:23 <network>
  <name>pppp</name>
  ...
  <forward dev='enp0s3' mode='nat'>
  ...
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  ...
</network>

__debug_bin3625533195 INFO 2023-07-10 19:41:45.428064 /home/wufan/workspace/kvm_serv/network/service/Network_test.go:23 <network>
  <name>xxxx</name>
  ...
  <forward mode='nat'/>
  <bridge name='virbr2' stp='on' delay='0'/>
  ...
</network>

__debug_bin3625533195 INFO 2023-07-10 19:41:50.147159 /home/wufan/workspace/kvm_serv/network/service/Network_test.go:23 <network>
  <name>default</name>
  ...
  <forward mode='nat'>
  ...
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  ...
</network>

从以上配置文件片段可以看出:

  1. 网络 pppp: 存在 <bridge name='virbr1'> 标签,因此是 bridge 网络,对应的物理网卡为 virbr1
  2. 网络 xxxx: 存在 <bridge name='virbr2'> 标签,因此是 bridge 网络,对应的物理网卡为 virbr2
  3. 网络 default: 存在 <bridge name='virbr0'> 标签,因此是 bridge 网络,对应的物理网卡为 virbr0

希望本文能够帮助您理解如何判断 KVM 虚拟网络类型并找到对应的物理网卡名称。

如何判断 KVM 虚拟网络类型及对应的物理网卡

原文地址: https://www.cveoy.top/t/topic/fCSi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录