配置Bridge模式KVM虚拟机

1. 配置基本环境

1 安装软件包。

安装brctl和tunctl命令行工具,要采用Bridge模式的网络配置,首先需要安装两个RPM包,即bridge-utils和tunctl,它们提供所需的brctl和tunctl命令行工具。可以用yum工具安装这两个RPM包。

#yum install bridge-utils -y

#yum -y localinstall tunctl-1.5-26.14.x86_64.rpm

加载tun模块并查看tun模块是否加载。

# modprobe  tun

# lsmod  |grep tun

tun                    27141  0

2 创建Bridge。

建立一个Bridge,并将其绑定到一个可以正常工作的网络接口上,同时让Bridge成为连接本机与外部网络的接口,首先确认网卡正常工作。确保开发者想使用Bridge网桥的网卡能够为KVM虚拟机模块提供网络连接能力,并且网卡可以正常工作。这个网卡能够给KVM虚拟机提供相同的网络支持。接下来的例子说明了网卡的配置,并且可以被外部网络访问。在这个例子中,使用了ens33网卡。主要的配置命令如下。

# brctl addbr br0

创建对应的网桥IP,删除ens33网口的IP地址,如下代码所示。

#cp /etc/sysconfig/network-scripts/ifcfg-ens33  /home/

# vi  /etc/sysconfig/network-scripts/ifcfg-ens33 

DEVICE=ens33

BOOTPROTO=dhcp(none)

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLER=no

BRIDGE=br0

#cp /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-br0

# vi  /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=bridge

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.10.120

NETMASK=255.255.255.0

GATEWAY=192.168.10.1(用route -n进行查询网关信息,根据具体情况设置IP地址与网关)

#yum install net-tools -y

# brctl addif br0 ens33

配置完成之后重启网络,同时查看网络和网桥的配置信息。

# ip addr list

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:ec:49:15 brd ff:ff:ff:ff:ff:ff

    inet6 fe80::20c:29ff:feec:4915/64 scope link

       valid_lft forever preferred_lft forever

3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN

    link/ether 52:54:00:00:49:aa brd ff:ff:ff:ff:ff:ff

    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500

    link/ether 52:54:00:00:49:aa brd ff:ff:ff:ff:ff:ff

5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN

    link/ether 00:0c:29:ec:49:15 brd ff:ff:ff:ff:ff:ff

    inet 192.168.10.120/24 brd 30.8.0.255 scope global br0

    inet6 fe80::20c:29ff:feec:4915/64 scope link

       valid_lft forever preferred_lft forever

# route  -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

30.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 br0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ens33

169.254.0.0     0.0.0.0         255.255.0.0     U     1005   0        0 br0

0.0.0.0         30.8.0.1        0.0.0.0         UG    0      0        0 br0

# brctl  show

bridge name     bridge id              STP enabled     interfaces

br0            8000.000c29ec4915     no             ens33

virbr0          8000.5254000049aa     yes             virbr0-nic

2. 启动虚拟机

上传qemu-ifup,qemu-down文件至/root,并且给予执行X权限

1 使用命令行启动虚拟机。

用QEMU-KVM命令启动Bridge模式的网络。

# qemu-kvm -m 512 -drive file=cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=qemu-ifup -nographic -vnc :2

2 查看br0桥。

# brctl show br0

bridge name     bridge id               STP enabled     interfaces

br0          8000.000c2982d685        no            ens33

这样就设置一个桥接的网络,查看网桥的接口信息可以看到默认已经绑定到br0桥。该配置表示连接宿主机的TAP网络接口到n号VLAN中,并且使用file和dfile两个脚本在启动客户机时配置网络,并在关闭客户机时取消网络配置。TAP参数,表明使用TAP设备。TAP是虚拟网络设备,它仿真了一个数据链路层设备,它像以太网的数据帧一样处理第二层数据包,而TUN与TAP类似,也是一种虚拟网络设备,它是对网络层设备的仿真。TAP用于创建一个网桥,而TUN与路由相关。vlan=n设罝该设备VLAN编号,默认值为0。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐