如何判断 KVM 虚拟网络类型及对应的物理网卡
本文介绍如何通过分析 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>
从以上配置文件片段可以看出:
- 网络 pppp: 存在
<bridge name='virbr1'>标签,因此是 bridge 网络,对应的物理网卡为virbr1。 - 网络 xxxx: 存在
<bridge name='virbr2'>标签,因此是 bridge 网络,对应的物理网卡为virbr2。 - 网络 default: 存在
<bridge name='virbr0'>标签,因此是 bridge 网络,对应的物理网卡为virbr0。
希望本文能够帮助您理解如何判断 KVM 虚拟网络类型并找到对应的物理网卡名称。
原文地址: https://www.cveoy.top/t/topic/fCSi 著作权归作者所有。请勿转载和采集!