Docker+Ovs构建SDN网络
Posted 楊木木8023
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker+Ovs构建SDN网络相关的知识,希望对你有一定的参考价值。
一、背景知识
关于Docker的基础知识和实验用到的Docker ryu镜像可以参考:Docker命令、基于Docker的SDN实验环境部署(1)_北风-CSDN博客
Docker网络模式:
本实验,主要利用两个Docker作为主机,OVS作为交换机,一个Docker作为控制器构建。构建的Topo如下所示。
二、构建步骤
(1)创建两个未配置网络的docker,命令如下。
# 创建Docker01
docker run -it --name host1 --network none ymumu/ryu:0.1 /bin/bash
# 创建Docker02
docker run -it --name host2 --network none ymumu/ryu:0.1 /bin/bash
(2)安装ovs-docker
wget http://github.com/openvswitch/ovs/raw/master/utilities/ovs-docker
chmod a+x ovs-docker
(3)新建ovs,并关联两个容器主机,并设置ip,网关等,命令如下。
# 新建网桥ovs
ovs-vsctl add-br ovs
# 容器关联网桥ovs
./ovs-docker add-port ovs eth0-ovs host1 --ipaddress=10.0.1.2/24 --gateway=10.0.1.1
./ovs-docker add-port ovs eth0-ovs host2 --ipaddress=10.0.1.3/24 --gateway=10.0.1.1
(4)先自定义网卡,设置ip为192.168.1.2/24,然后创建一个docker作为ryu控制器,命令如下》
docker network create --subnet 192.168.1.0/24 --gateway 192.168.1.1 ryu-net
docker run -it --name ryu --network ryu-net ymumu/ryu:0.1 /bin/bash
(5)接下来,ovs添加控制器ryu,命令如下。
ovs-vsctl set-controller ovs tcp:192.168.1.2:6633
设置完成后,ovs如下:
三、实验验证
此时,SDN Topo构建完成,可以实现SDN网络topo的实验,进入ryu docker中,开启ryu程序,命令如下。
root@af64df2ee2f1:/home# cd ryu
root@af64df2ee2f1:/home/ryu# cd ryu
root@af64df2ee2f1:/home/ryu/ryu# cd app
root@af64df2ee2f1:/home/ryu/ryu/app# ryu-manager simple_switch_13.py
此时,host1和host2之间就可以正常通信了,如下。
以上是关于Docker+Ovs构建SDN网络的主要内容,如果未能解决你的问题,请参考以下文章