如何创buildvirbr0-nic?

我如何创build像virbr0-nic这样的虚拟networking接口? 我试图find一种方法来创build像virbr0-nic这样virbr0-nic但是我可以在互联网上find的所有东西都是如何创build一个连接到物理接口(如eth0:0接口。 当我写

 # brctl show bridge name bridge id STP enabled interfaces virbr0 8000.525400e0af01 yes virbr0-nic virbr1 8000.525400e8a6b1 yes virbr1-nic vnet1 

所以virbr0是连接virbr0-nic的桥梁。 那么virbr0-nicvnet1是如何创build的?

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

 modprobe dummy 

创build一个名为dummy0的networking接口。

如果你想要多个设备,你可以创buildsay 5

 modprobe dummy numdummies=5 

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

给它一个MAC地址

 ip link set dummy0 address aa:aa:aa:bb:bb:bb 

给它一个IP地址

 ip addr add 10.0.0.1/24 dev dummy0 

将它添加到您现有的桥梁

 brctl addif virbr0 dummy0 

设置它,设置它,NATclosures,等等。

virbr0-nic代表虚拟网卡NIC。

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

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

 brctl show 

并根据您的需求添加或修改网桥。 创build一个新的桥梁使用

 brctl addbr <name> 

其中<name>将成为您的新桥的名称(如virbr0-nic)。然后您可以添加接口到桥

 brctl addif <brname> <ifname> 

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

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

 # /usr/bin/tunctl -t virbr0-nic 

目前还不清楚你的设置中有哪些types的设备virbr0-nicvnet1 。 有几种types的虚拟设备可以包含在网桥中,其中一些可以使用ip命令创build。

一种虚拟设备是创build连接的虚拟以太网接口对的手段。

 ip link add veth0 type veth peer name veth1 

在这个例子中, veth0veth1是我为这个例子提出的任意接口名称。 例如,如果要将两个接口之一移动到不同的networking名称空间,此方法可能会很有用。

另一种虚拟接口是vlan ,您可以在物理接口上创build一个连接到特定802.1q标记的单个虚拟以太网接口:

 ip link add link eth0 name eth0.10 type vlan id 10 

有一个手册页,其中提供了有关可以使用ip命令创build的更多types的虚拟接口的信息。 手册页的名字取决于你安装的是哪个版本,我已经看到它的名字是ip-link或者只是ip

另外,如果您使用的是虚拟化,则有连接主机和虚拟机的虚拟接口。 这些的具体情况取决于您正在使用的虚拟化解决scheme。