如何为虚拟机配置桥接网络

如何为虚拟机配置桥接网络

我正在 CentOS 6 中设置 KVM 虚拟化服务器。如何配置桥接网络?(我认为我需要网络接口 eth0 可供虚拟机访问)

我尝试遵循以下指南:

如何在 CentOS 6.2 上使用桥接网络安装 KVM 和 libvirt

通过修改/etc/sysconfig/network-scripts/ifcfg-br0适合我的网络的值:

DEVICE="br0"
TYPE=Bridge
DELAY=0
ONBOOT="yes"
BOOTPROTO=static
IPADDR=178.126.193.153
NETMASK=255.255.255.192
NETWORK=178.126.193.128
GATEWAY=178.126.193.190
DNS1=37.58.58.137
DNS2=91.109.25.225
PEERDNS="yes"
NM_CONTROLLED=no

添加以下行/etc/sysconfig/network-scripts/ifcfg-eth0

BRIDGE=br0
NM_CONTROLLED=no

也许我不应该添加,而是写仅有的指南中列出的几行?我不确定 NETWORK 值应该是多少,以及我是否设置正确以及是否重要。

无论如何,当我这样做时,service network restart我被锁定在服务器之外,我不得不要求我的托管服务提供商的支持人员重新安装它。有没有一种“万无一失”的方法来设置桥梁,不容易搞砸?例如这样Debian 示例我发现:

brctl addbr br0

答案1

我发现的这种方式怎么样RHEL 文档

virsh iface-bridge eth0 br0

然后,当然,重新启动网络服务:

sudo service network restart

并验证桥接配置:

brctl show

对我来说,这表明 “brctl show”显示 2 个桥:br0 和 virbr0

没想到virbr0会出现,结果却是virbr0(“虚拟桥 0”)接口由设置为使用 NAT 网络的客户端使用;它默认故意设置为使用 192.168.122.0/24 作为其子网,并包含自己的 dhcp 服务器,并使用 dnsmasq 进行 DNS 解析。

它用于 NAT(网络地址转换),由libvirt库提供,虚拟环境有时会使用它来连接到外部网络

我要把它留在那里,这正是我所需要的:我希望一些虚拟机能够直接访问互联网(我有这些虚拟机的 IP),而其他虚拟机将通过 NAT 访问互联网。但如果确定不需要额外的网桥,virbr0 可以删除经过

brctl delbr virbr0

答案2

要使配置持久化,您必须编辑配置文件。您实际上不需要NETWORK设置 IPADDR、NETMASK 和 GATEWAY 部分。

ifcfg-eth0脚本应包含以下内容:

DEVICE="eth0"
HWADDR=AA:BB:CC:DD:11:22
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO=none
BRIDGE=br0

为了确保你不会被锁定,你可以设置一个脚本,每隔 20 分钟左右将网络重置为工作配置,将其放入 cron 中,然后开始破解。如果你被锁定,你所需要做的就是等待脚本恢复工作配置。

相关内容