写在前边,此教程基于ubuntu 14桌面版,ubuntu 16也可。
为了提高安装效率,建议首先更换国内软件镜像,更换方法请自行搜索。
Mininet安装时会自带一个ovs,但是版本较低,如果要使用高版本ovs,需要先安装mininet,再安装高版本ovs进行覆盖,如果顺序弄错则很难安装。
1. Mininet
裸机需要先安装git
sudo apt-get update
sudo apt-get install git git-core
之后按照官方教程即可,下方命令段是直接复制了官方的,不想看英语可以直接用下面的。
http://mininet.org/download/#option-2-native-installation-from-source
git clone git://github.com/mininet/mininet
cd mininet
git tag # 列出可用版本号
git checkout -b 2.2.2 2.2.2 # 或者tag中列出的其他版本号
cd ..
mininet/util/install.sh -a
# -a 表示完整安装
2.openvswitch
ovs的安装主要参考了这篇https://www.sdnlab.com/3166.html
但是踩了一些坑,命令记录如下:
sudo apt-get install -y build-essential
wget http://openvswitch.org/releases/openvswitch-2.7.0.tar.gz
#这里我用了2.7版本,如果要使用其他版本,参考ovs官方的release note进行选型
tar -xzf openvswitch-2.7.0.tar.gz
cd openvswitch-2.7.0
make clean
./configure --with-linux=/lib/modules/`uname -r`/build 2>/dev/null
make -j
sudo make install
#我没有vlan需求,参考的教程里有vlan模块安装说明,我这里省去了
sudo make modules_install
sudo /sbin/modprobe openvswitch
sudo mkdir -p /usr/local/etc/openvswitch
sudo ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema 2>/dev/null
sudo ovsdb-server -v --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach
sudo ovs-vsctl --no-wait init
sudo ovs-vswitchd --pidfile --detach
注意,安装完成后每次重启主机都需要重新启动ovs,建议创建一个启动脚本,每次重启后直接运行脚本进行启动ovs。
touch start-ovs.sh #新建一个脚本文件
gedit start-ovs.sh #打开文件后将下边的脚本内容复制进去
脚本内容:
ovsdb-server -v --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=db:Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach
之后每次重启主机,执行sudo sh start-ovs.sh
来启动ovs。