Ubuntu20搭建opendaylight+mininet环境

Ubuntu20搭建opendaylight+mininet环境
前言:

这学期正好有sdn的课程,就想着自己搭建odl环境,因为opendaylight+mininet开源,近几年确实挺高效的,搭建一个简单的网络环境肯定是可以的,而随着odl版本的更新换代。网上的教程也是根据版本来搭建的,导致有些初学者在搭建环境时总是掉坑,特此记录步骤,请大家多指正

环境搭建要求:
vmware workstation12,linux ubuntu镜像,由于环境搭建基于网络源,请保持虚拟机正常访问外网。
目标:
搭建odl平台,熟练应用mininet、python命令,编写python脚本,达到对简单网络环境需求
目标拓扑图:
启用OpenFlow13协议连接控制器,ip为本机ip,port为6653,ovsk格式交换机

一、 安装ubuntu系统&配置网络源(系统版本>16.0)
没有ubuntu系统可以上国内的源站下载,分享链接

http://mirrors.163.com/ubuntu-releases/

新建虚拟机。选择linux系统。根据镜像选择Ubuntu 64位系统和32位,之后选择语言,输入键盘,hostname,password,时区。

进入系统安装,将虚拟机网卡设置为nat或者桥接模式,在安装期间,设置你user的密码
设置root密码,安装完成

打开右上角网络图标,输入你处于对应模式的ip段,在这里建议大家用nat模式,在虚拟机编辑选项下找到网络编辑器上启用nat模式下的dhcp服务器,让ubuntu系统获得ip,为后面配置网络源做准备。

点击应用,在系统上设置自动获取ip,确认自动连接,获取到了ip为 172.16.129.128

为方便使用系统,安装vm-tools,点击上方安装vm-tools工具,弹出光驱,打开光驱

右击tools安装包,提取到root目录下,也可以直接用 tar zxf ./VMwareTools-10.3.22-15902021.tar.gz ./root

打开终端,执行特权命令

Sudo ./vmware-install.pl

安装tools工具,有yes选项输入yes,没有则一直回车,完成安装,sudo reboot,重启系统

后面就直接配置网络源,清华,中科大,阿里,网易都可以

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

vi /etc/apt/sources.list,将网络源添加进去,注释原系统网络源,并保存。

执行 apt update命令 更新sources.list。如报错下列代码,请重启Ubuntu

开机后测试网络源,先安装vim,在Ubuntu和debian系统,自带的vi编辑器对系统并不友好,不是很好用
Apt install -y vim*

测试vim功能

做到这步,几乎是可以成功访问互联网了,前提是物理机必须能访问外网,如遇到dhcp获取上,不能成功访问外网时,很大概率时dns地址解析的问题

执行
输入 nameserver ip #dhcp上的dns地址
Nameserver 8.8.8.8
至此系统和网络源环境准备完成

二、 下载odl开源包&下载mininet环境包
安装odl依赖包apt-get update
apt-get upgrate
apt-get install unziplrzsz

安装jdk8 apt-get installopenjdk-8-jdk -y

设置jdk系统变量

vim /etc/environment
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

保存配置文档,重启系统,环境变量才能生效。重启系统

运行java -version查看是否配置成功

从OpenDaylight官网下载:https://www.opendaylight.org/downloads,并下载Nitrogen版本opendaylight,最好用稳定版本,用新版本或旧版本可能和ubuntu系统并不兼容

解压odl包
tar xzf ./distribution-karaf-0.6.4-Carbon.tar.gz ./

进入 distribution-karaf-0.6.4-Carbon目录,编辑

Vim org.apache.karaf.management.cfg

rmiRegistryHost= 127.0.0.1
rmiServerHost= 127.0.0.1

保存后测试odl模块
进入distribution-karaf-0.6.4-Carbon/bin

Sudo ./karaf

在odl模式下载相应的组件

feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications

如遇java jdk报错,添加 mesg n 2> /dev/null || true 保存
~

注意!!!!:在运行完成后,不能关闭odl终端,想做对应的操作应重新打开新的终端

测试odl是否正常运行,并访问odl管理web

打开系统自带的firefox
输入
http://ip:8181/index.html

账号密码都是admin

在右上角选择topoloy 查看当前拓扑结构
因为我们并没有安装mininet,编写topo脚本,所以并没有任何设备

如果登陆异常:
可以通过logout退出karaf平台,进入odl主目录,删除data目录,执行
./karaf clean,
再次重新执行./karaf程序和加载相应组件。

安装mininet:
由于在git网站上下载源码包
先安装 apt install -y git
执行 git clone git://github.com/mininet/mininet
cd ./mininet

./util/install.sh -a
接受完成

安装python软件和依赖包
Apt install python3.4 –y
Apt install python*

三、 编写python脚本,实现目标拓扑图(扩展)

./mininet/custom目录
复制cp -p topo-2sw-2host.py topo1.py

编辑topo1.py,根据图一 topology图编写python脚本
修改为
from mininet.topo import Topo

class MyTopo( Topo ):
“Simple topology example.”

def build( self ):
    "Create custom topo."

    # Add hosts and switches
    h1 = self.addHost( 'h1' )
    h2 = self.addHost( 'h2' )

h3 = self.addHost( ‘h3’ )
h4 = self.addHost( ‘h4’ )

    s1 = self.addSwitch( 's1' )
    s2 = self.addSwitch( 's2' )

    # Add links
    self.addLink( h1, s1 )
    self.addLink( h2, s1 )
    self.addLink( h3, s1 )
	 self.addLink( h4, s2 )
    self.addLink( h1, s2 )

topos = { ‘mytopo’: ( lambda: MyTopo() ) }

保存
运行命令

mn --custom topo1.py --topo=mytopo --switch ovsk,protocols=OpenFlow13 --controller=remote,ip=172.16.129.128,port=66

#topo1.py 脚本文件
#–topo类型为自定义类型
#–switch ovsk交换机格式为ovsk
#openflow13 控制器版本为13(不设置默认是10,不指定版本对后续执行脚本会报错版本冲突)
#–controller=remote
#ip 本机ip
#port 开放6653端口

运行脚本文件

执行pingall命令

出现此图说明四台主机和两台交换机互相ping通,正常通信

登录odl web端查看拓扑图结构,看是否和目标拓扑图一致

和目标topo图一致(odl控制器不算具体设备拓扑)

在nodes上查看交换机s1,s2设备

当光标移到设备上会出现mininet为设备分配的ip和mac地址,而主机号就是当前设备主机名,如图,下面这台就是h1(host1)

四、 设备流表以及流表扩展
流表资料我会放在我的csdn上,有学习的,请自己下载,谢谢

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
W10的WSL(SubSystem for Linux)功能可以让Windows系统下安装一个兼容Linux环境,其中包括Ubuntu,提供给开发者更为便捷的开发环境。本文将介绍搭建WSL Ubuntu开发环境的详细步骤。 首先,需要在Windows 10系统中启用WSL功能。具体操作为:进入“控制面板”-“程序”-“启用或关闭Windows功能”-勾选“适用于Linux的Windows子系统”并应用更改。 搭建WSL Ubuntu环境,也分为几个步骤。首先,在Microsoft store搜索Ubuntu并下载安装。安装完成后打开,系统会提示输入用户名和密码,这里输入的是为Ubuntu配置的用户名和密码。接着,建议及时更新系统,输入以下指令: ``` sudo apt update sudo apt upgrade ``` 之后就可以开始搭建环境了,可以根据需要安装和配置如下开发环境: 1. 安装python开发环境 输入以下指令: ``` sudo apt install python3 sudo apt install python3-pip ``` 2. 安装java开发环境 输入以下指令: ``` sudo apt install default-jre sudo apt install default-jdk ``` 3. 安装node.js环境 输入以下指令: ``` curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs ``` 4. 安装vscode以及其它开发工具 在Windows系统中下载安装vscode,然后打开,按Ctrl+Shift+P调出命令面板,输入“WSL: 打开新的终端”,就可以在Ubuntu中打开vscode,实现兼容开发。 总结起来,搭建WSL的Ubuntu开发环境需要在Windows系统中启用WSL功能,下载安装Ubuntu,配置环境并安装开发工具。相比于直接在Windows系统中搭建开发环境,WSL Ubuntu更能提升开发效率,同时在Windows和Linux之间切换也更加方便,对于需要同时开发两个系统的开发者来说是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昨日青空c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值