在KVM下使用桥接网卡,可以让客户机获取到和真实系统同一网段的地址,此模式下对dhcp服务器来说真实机和客户机为同一级的存在。
使用网卡桥接模式有几点需要特别注意。
1. 必须关闭NetworkManager服务,此服务和网卡桥接服务冲突,如果两个同时开启,会出现无法上网的情况。
2.在配置网卡桥接的过程中,一般会把某个网卡的的网卡配置直接复制到桥接网卡。这里我们假设复制的网卡名为br0。首先需要知道的是,如果让br0桥接eth0,那么eth0将不再能获得IP,反而是br0获得了原先eth0的IP。
以下为具体步骤
1,准备工作
- 关闭NetworkManager服务,启用network服务
- [root@localhost ~]# service NetworkManager stop
- [root@localhost ~]# service network restart
- [root@localhost ~]# chkconfig --levle 2345 NetworkManager off
- [root@localhost ~]# chkconfig --levle 2345 network on
- 删除网卡记录文件(最好是删除,不要清空文件内容)
- [root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
- 禁用seLinux
- [root@localhost ~]# sestatus
- #如果返回值不是disabled,则编辑/etc/sysconfig/selinux,修改SELINUX=disabled
- 重启系统
- [root@localhost ~]# reboot
按道理说还需要修改/etc/sysctl.conf文件,将net.ipv4.ip_forward的值改为1(即允许多块网卡互相通信),但后来经过试验,此项并不是必须的。如果你不放心,也可以改掉此值。
2,配置桥接网卡信息
这里我们假设复制的网卡名为br0。首先需要知道的是,如果让br0桥接eth0,那么eth0将不再能获得IP,反而是br0获得了原先eth0的IP。
- [root@localhost ~]# yum install bridge-utils
- [root@localhost ~]# cd /etc/sysconfig/network-scripts/
- [root@localhost ~]# cp ifcfg-eth0 ifcfg-br0 #复制出br0网卡的配置文件
ifcfg-eth0的配置:
- DEVICE=eth0
- TYPE=Ethernet
- ONBOOT=yes
- BRIDGE=br0 #注意添加此项
不要奇怪,这里没有BOOTPROTO项是完全正常的,请继续操作。
ifcfg-br0的配置:
- DEVICE=br0
- ONBOOT=yes
- BOOTPROTO=static
- IPADDR=10.152.11.149 #原先eth0的IP
- NETMASK=255.255.0.0 #原先eth0的子网掩码
- GATEWAY=10.152.255.254 #网关
然后重启网络服务,可以发现eth0不再有IP,而br0获得了原先eth0的IP。
查看桥接状态:
- [root@localhost ~]# brctl show
- bridge name bridge id STP enabled interfaces
- br0 8000.000c29c31830 no eth0
- [root@localhost ~]# echo "ifup br0" >> /etc/rc.d/rc.local
据说使用此方法重启后桥接会失效,暂未测试,先做标记。
本文具体操作部分引用 http://blog.youkuaiyun.com/rosen_luo/article/details/49685645#