virbr0-nic是如何创建的?

cos*_*imo 11 networking linux linux-networking

如何创建虚拟网络接口virbr0-nic?我试图找到一种方法来创建一个 NIC,virbr0-nic但我可以在 Internet 上找到的所有内容都是如何创建一个连接到物理接口的接口,例如eth0:0. 当我写

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e0af01   yes virbr0-nic
virbr1      8000.525400e8a6b1   yes virbr1-nic
                            vnet1
Run Code Online (Sandbox Code Playgroud)

所以,virbr0是到桥virbr0-nic连接。那么如何virbr0-nicvnet1创造?

sup*_*ami 10

这些是虚拟设备。你可以跑

modprobe dummy
Run Code Online (Sandbox Code Playgroud)

创建一个名为dummy0.

如果您想要多个设备,您可以创建 5 个

modprobe dummy numdummies=5
Run Code Online (Sandbox Code Playgroud)

然后,您可以像控制任何其他网络设备一样控制这些设备。

给它一个 MAC 地址

ip link set dummy0 address aa:aa:aa:bb:bb:bb
Run Code Online (Sandbox Code Playgroud)

给它一个IP地址

ip addr add 10.0.0.1/24 dev dummy0
Run Code Online (Sandbox Code Playgroud)

将它添加到您现有的网桥

brctl addif virbr0 dummy0
Run Code Online (Sandbox Code Playgroud)

设置它,设置它,关闭它,等等。


Max*_* A. 6

为此,libvirt 正在使用 TUN 设备。您可以通过以下命令手动创建此设备:

# /usr/bin/tunctl -t virbr0-nic
Run Code Online (Sandbox Code Playgroud)


小智 2

virbr0-nic代表虚拟桥接网卡。

它基本上是物理网卡和虚拟机的虚拟网卡之间的桥梁。

要管理桥接接口,您可以使用该brctl命令。您可以列出所有桥接接口

brctl show 
Run Code Online (Sandbox Code Playgroud)

并根据您的需要添加或修改桥梁。要创建新的桥,请使用

brctl addbr <name>
Run Code Online (Sandbox Code Playgroud)

其中<name>将是您的新网桥的名称(如 virbr0-nic)。然后您可以使用以下命令将接口添加到网桥

brctl addif <brname> <ifname>
Run Code Online (Sandbox Code Playgroud)

您可以参阅手册页以获取更多信息。