首先准备环境
本节主要讲解如何让包通过openvswitch,连宿主机和虚拟机。
1, 先说说我的环境吧
模块 | 版本 |
---|---|
内核版本 | 4.0.0-2-amd64 |
debian | Debian 4.0.8-2 (2015-07-22) x86_64 |
openvswitch-common | 2.4.0-1 |
openvswitch-datapath-dkms | 2.4.0-1 |
openvswitch-datapath-source | 2.4.0-1 |
openvswitch-dbg | 2.4.0-1 |
openvswitch-pki | 2.4.0-1 |
openvswitch-switch | 2.4.0-1 |
openvswitch-test | 2.4.0-1 |
openvswitch-vtep | 2.4.0-1 |
python-openvswitch | 2.4.0-1 |
注: 这些包目前没有源提供,本人是在本地自己打包编译的,
其实编译也很简单:
- 1,从github上下载代码,
- 2,切换到相应的分支,
- 3,运行dpkg-buildpackage即可,具体出现的错误请询问google大神)
qemu的版本不是本文的重点。再此就不再列出具体版本了
准备启动虚拟机的镜像,也不在此叙述,我这边有个副本,直接root登陆,密码是:1,链接地址:http://pan.baidu.com/s/1sjmOZyl 文件名字forqemu.qcow
2,启动一台虚拟机:
qemu的命令不再本文叙述之列,请参照帮助文档:
本人用的启动虚拟机的命令:(仅供参考,参照本文最后一节的备注)
qemu-system-x86_64 forqemu.qcow2 -m 1024 -net nic,model=virtio,macaddr=00:16:3e:22:22:22 -net tap,ifname=tap124
- 注意 :
- 1, 参数中的“ifname=tap124”代表创建出来的tap设备的名字,
- 2, 可以后台执行该命令,打开一台虚拟机
- 3, 创建完成之后 执行ifconfig 命令,应该能看到新的网络设备名字 tap124
3,初识所需的openvswitch命令
- ovs-vsctl add-br $br-name : 增加一台虚拟网桥设备。
- ovs-vsctl add-port $br-name $port-name : 在网桥设备上增加一个端口,
注,该端口不是运输层端口,可以抽象为一个插网线的网口 - ovs-vsctl set-port $port-name tag=$tag-id : 设置端口的tag
创建虚拟机,连通宿主机和虚拟机
创建以来虚拟机
物理机(注,物理机该处的命令在虚拟机启动之后才会有tap124设备)
root@www /home/abaobo 2015-08-14 20:54:23
# ip a a 10.120.0.2/24 dev tap124
虚拟