我正在 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
对我来说,这表明
没想到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 中,然后开始破解。如果你被锁定,你所需要做的就是等待脚本恢复工作配置。