`virbr0` 和 `virbr0-nic` 的功能是什么?

244*_*boy 8 networking kvm libvirt

在我的 CentOS 7.2 中,我安装了以下软件包:

yum install -y epel-release qemu-kvm libvirt virt-install bridge-utils
Run Code Online (Sandbox Code Playgroud)

然后当我显示ip a

[root@localhost ~]# 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: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e8:9a:8f:50:4a:dc brd ff:ff:ff:ff:ff:ff
    inet 13.19.241.25/29 brd 13.19.241.31 scope global em1
       valid_lft forever preferred_lft forever
    inet 13.19.241.26/8 brd 13.255.255.255 scope global em1
       valid_lft forever preferred_lft forever
    inet6 fe80::ea9a:8fff:fe50:4adc/64 scope link 
       valid_lft forever preferred_lft forever
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e8:9a:8f:50:4a:dd brd ff:ff:ff:ff:ff:ff
    inet 103.193.241.25/29 brd 103.193.241.31 scope global em2
       valid_lft forever preferred_lft forever
    inet6 fe80::ea9a:8fff:fe50:4add/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:f9:a9:cf brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:f9:a9:cf brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)

您会看到那里添加了两个网络设备:virbr0virbr0-nic。它们是什么,它们的作用是什么?

和哪个包安装了这两个设备?

小智 7

当您安装该libvirt服务时,会virbr0自动创建一个,它是一个virtual network switch.

所有虚拟机都将连接到virbr0.

默认virbr0使用NAT模式,可以提供NAT模式上网。默认情况下,virbr0分配地址192.168.122.1,它可以为连接到它的其他虚拟接口提供 DHCP 服务。

如果你使用brctl show,你可以找到一个virbr0名为的接口virbr0-nic

[root@localhost network-scripts]# brctl show
bridge name bridge id       STP enabled interfaces
...
virbr0      8000.5254003caaaa   yes     virbr0-nic 
Run Code Online (Sandbox Code Playgroud)

  • 那么 _is_ `virbr0-nic` 是什么......当然我可以用 `brctl` 看到它,但是你的回答回避了 `virb0-nic` 接口的内容(旧版本的 `libvirt` _not_ 创建了它! )。 (6认同)
  • 关于 virbr0-nc 的功能(只是为网桥提供 MAC)请参阅 https://unix.stackexchange.com/a/444863/31228 (2认同)