virsh net-destroy 默认

virsh net-destroy 默认

我如何创建虚拟网络接口virbr0-nic?我正在尝试找到一种方法来创建 NIC,virbr0-nic但我在互联网上能找到的都是如何创建连接到物理接口的接口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

答案1

这些是虚拟设备。您可以运行

modprobe dummy

创建一个名为 的网络接口dummy0

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

modprobe dummy numdummies=5

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

使用以下命令为其指定 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

设置它、关闭它、关闭 NAT 等等。

答案2

libvirt 使用 TUN 设备来实现此目的。您可以通过以下命令手动创建此设备:

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

答案3

virbr0-nic代表虚拟桥接 NIC。

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

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

brctl show 

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

brctl addbr <name>

<name>您的新网桥名称为 virbr0-nic。然后,您可以使用以下命令向网桥添加接口

brctl addif <brname> <ifname>

您可以参考手册页了解更多信息。

答案4

但是我没有这个 /usr/bin/tunctl -t virbr0-nic,它是从 cockpit 安装的,当我使用虚拟机时我找不到删除选项,当它存在时可以,但是对于使用 systemd-networkd 进行网络连接,我遇到了很多问题。Cockpit 将使用 Network-Manager 及其配置文件。安装后,我的网络瘫痪了,所有设备和应用程序都出现了很多故障。

如果您在全新安装 RHEL/CentOS 6,7 系统后检查“ifconfig -a”,则会找到接口 virbr0 名称。以下是全新安装的 CentOS 7 系统的一个示例。

ifconfig -a

....

virbr0: flags=4099[UP,BROADCAST,MULTICAST]  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098[BROADCAST,MULTICAST]  mtu 1500
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

什么是 virbr0 接口 virbr0 桥接接口由 libvirtd 的默认网络配置创建。libvirtd 是为主机充当虚拟机管理程序提供基础的服务。因此,如果您不使用 xen 虚拟化,您可以阻止 libvirtd 的默认网络在启动时激活,也可以阻止 libvirtd 本身在启动时激活。前者将阻止任何连接到 libvirtd 默认网络的 VM 客户机具有网络连接,后者将完全阻止 VM 运行。如果您不使用它,这很好。禁用 libvirtd 默认网络

  1. 您可以使用 virsh 命令暂时禁用 libvirtd 的默认网络。此操作在重启后不会继续生效。

    virsh net-destroy 默认

  2. 要永久禁用在启动时创建 libvirtd 默认网络:

    virsh net-autostart default --disable

删除 libvirtd 默认网络 要永久删除 libvirtd 默认网络:

virsh net-undefine default

要永久禁用 RHEL5 和 RHEL6 上的 libvirtd 服务在启动时启动:

chkconfig libvirtd off

要永久禁用 RHEL7 启动时启动的 libvirtd 服务:

systemctl disable libvirtd.service

相关内容