为CentOS虚拟机添加第二块网卡

使用virt-install安装了一个CentOS虚拟机,安装过程未指定网络参数,默认使用内置虚拟NAT的方式上网,现在希望给虚拟机另外安装一块虚拟的网卡,然后给其分配一个外网IP地址(与宿主机处于同一网段)。

安装CentOS

$ sudo virt-install --connect qemu:///system --noautoconsole \-n centos -r 4096 --vcpus=4 --arch=x86_64 --os-type=linux \--os-variant=rhel6 --accelerate -v -l http://mirrors.163.com/centos/6.3/os/x86_64/ \--disk path=/var/lib/libvirt/p_w_picpaths/centos.img,size=200 \--graphics vnc,password=foobar,listen=0.0.0.0,port=5901

为宿主机添加虚拟网桥

$ vim /etc/network/interfaces

修改如下

# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceiface em1 inet manualauto br0iface br0 inet static    bridge_ports    em1    bridge_stp  on    bridge_maxwait  0    bridge_fd   0    address     192.168.18.130    netmask     255.255.255.0    network     192.168.18.0    broadcast   192.168.18.255    gateway     192.168.18.1    dns-nameservers 192.168.18.1

添加虚拟网桥配置br0,并且把主网卡em1(大多数情况下主网卡为eth0)配置由dhcp或者static改成manual。

然后重启网络服务

$ sudo service networking restart

为虚拟机添加一张额外的虚拟网卡

首先关闭VM

$ virsh destory centos

然后编辑VM配置文件

$ virsh edit centos

在之后加入如下xml片段

  
  
  
  

然后保存退出。

启动刚才修改过的VM虚拟节点

$ virsh start centos

为CentOS添加新网卡配置

参看/sys/class/net可以看到新添加的网卡eth1

# ls /sys/class/net/eth0  eth1  lo

通过ifconfig获得该网卡的MAC地址

# ifconfig eth1eth1    Link encap:Ethernet  HWaddr 00:16:3E:1A:B3:4A          inet addr:192.168.18.210  Bcast:192.168.18.255  Mask:255.255.255.0        inet6 addr: fe80::216:3eff:fe1a:b34a/64 Scope:Link        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1        RX packets:3343 errors:0 dropped:0 overruns:0 frame:0        TX packets:12 errors:0 dropped:0 overruns:0 carrier:0        collisions:0 txqueuelen:1000         RX bytes:216373 (211.3 KiB)  TX bytes:1364 (1.3 KiB)

执行uuidgen生成一个随机的UUID

# uuidgene5281311-f265-4afa-a7e1-4d76718f7de0

然后完事具备只欠东方了,

# cd /etc/sysconfig/network-scripts# cp ifcfg-eth0 ifcfg-eth1# vim ifcfg-eth1

结合上面的MAC地址和UUID,修改内容如下

DEVICE="eth1"BOOTPROTO="dhcp"HWADDR="00:16:3E:1A:B3:4A"IPV6INIT="yes"IPV6_AUTOCONF="yes"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"UUID="e5281311-f265-4afa-a7e1-4d76718f7de0"