您的位置:首页 > 理论基础 > 计算机网络

手动实现openstack vlan 二层网络结构

2014-12-19 10:24 441 查看
环境准备:

1 linux虚拟机一台

2 安装openviswitch 与linux 网桥模块

3 安装kvm 或qemu

注意,如果不方便,可以登陆192.168.7.107克隆虚拟机ubuntu_1204_11.201然后修改好主机名和ip地址即可。

知识点准备:

linux网桥

openviswitch

linux veth设备工作原理

kvm虚拟化基础

所实现的网络拓扑图如下:



1 基础网络部分

建议网桥

ovs-vsctl add-br test-guest-br

ovs-vsctl add-br test-py-br

添加veth设备连接两个网桥

ip link add guest-point type veth peer name phy-point

ip link set phy-point promisc on

为phy网桥添加truck网卡

ovs-vsctl add-port test-py-br eth1

将veth phy网卡添加进phy网桥

ovs-vsctl add-port test-py-br phy-point

将veth guest网卡添加进guest网桥

ovs-vsctl add-port test-guest-br guest-point

添加外部vlan转内部vlan流表

添加内部vlan转外部vlan流表

启动所有网络设备

ip link set test-guest-br up

ip link set test-py-br up

ip link set guest-point up

ip link set phy-point up

ip link set eth1 up

2 虚拟机网络部分

建立虚拟机linux网桥

brctl addbr vm-br

建议虚拟机veth设备

ip link add vm-qvb type veth peer name vm-qvo

添加qvb到虚拟机网桥

brctl addif vm-br vm-qvb

添加qvo到基础网络部分的虚拟机网桥

ovs-vsctl add-port test-guest-br vm-qvo tag=121

添加虚拟机网卡

ip tuntap add vm-vnet mode tap

将虚拟机网卡添加进虚拟机网桥

brctl addif vm-br vm-vnet

启动所有网络设备

ip link set vm-br up

ip link set vm-qvb up

ip link set vm-qvo up

ip link set vm-vnet up

3 启动虚拟机

qemu-system-x86_64 -m 1024 -drivefile=cirros-0.3.2-x86_64-disk.img,cache=writeback,if=virtio,boot=on -bootorder=c -net nic,model=virtio -net tap,ifname=vm-vnet,script=no,downscript=no-nographic -vnc :0

为虚拟机分配ip地址

sudo ifconfig eth0 192.168.121.199/24

为虚拟机添加路由

sudo route add -net 0.0.0.0 gw 192.168.121.254 deveth0

一切OK,ping一下试试。

其他:如果openstack内外vlan id一致时,不需要转vlan,如何转换数据包的vlan id等内容放以后的openviswitch openflow话题中主讲。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: