题目需求:
服务器IspSrv上的工作任务
在 IspSrv 上导入 OpenDayLight 软件包;
启动 OpenDayLight 的 karaf 程序,并安装如下组件:
feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications
使用 Mininet 和 OpenVswitch 构建拓扑,连接 ODL 的 6653 端口如下拓扑结构:
在浏览器上可以访问 ODL 管理页面查看网元拓扑结构;
通过 OVS 给 S2 下发流表,使得 H2 与 H1、H3 无法互通;
H1 启动 HTTP-Server 功能,WEB 端口为 8080,H3 作为 HTTP-Client,获取 H1 的 html 网页配置文件。
实验压缩包获取:
SDN环境压缩包 |
项目实施
上传文件: distribution-karaf-0.6.0-Carbon.zip mininet_2.2.2-4_amd64.deb
root@IspSrv:~# apt install lrzsz -y
root@IspSrv:~# ls -l
总用量 425160
-rw-r--r-- 1 root root 435235339 4月 12 2022 distribution-karaf-0.6.0-Carbon.zip
-rw-r--r-- 1 root root 124592 11月 10 11:41 mininet_2.2.2-4_amd64.deb
root@IspSrv:~#
安装jdk和加压Opendaylight,并启动karaf程序:
root@IspSrv:~# apt install openjdk-8-jdk -y
root@IspSrv:~# unzip distribution-karaf-0.6.0-Carbon.zip
root@IspSrv:~# ./distribution-karaf-0.6.0-Carbon/bin/karaf
注意:若不能执行则配置jdk环境变量
root@IspSrv:~# echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64" >> /etc/profile
root@IspSrv:~# source /etc/profile
安装组件:
opendaylight-user@root>
opendaylight-user@root>feature:install odl-restconf
opendaylight-user@root>feature:install odl-l2switch-switch-ui
opendaylight-user@root>feature:install odl-mdsal-all
opendaylight-user@root>feature:install odl-dluxapps-applications
opendaylight-user@root>
浏览器访问测试(登录密码和用户均为admin)
http://ispweb.chinaskills.cn:8181/index.html
安装Mininet,Openvswitch:
root@IspSrv:~# dpkg -i mininet_2.2.2-4_amd64.deb
报错执行:
root@IspSrv:~# apt --fix-broken install -y
继续安装:
root@IspSrv:~# dpkg -i mininet_2.2.2-4_amd64.deb
安装openvswitch:
root@IspSrv:~# apt install openvswitch-switch -y
使用mn命令搭建拓扑:
root@IspSrv:~# mn --controller=remote,ip=81.6.63.100,port=6653 --topo=linear,3,1 --switch=ovs,protocols=OpenFlow10
pingall 测试:
mininet> pingall
web界面查看拓扑结构:
配置下发流表,开启HTTP-Server功能:
h2与h1、h3无法互通
mininet> sh ovs-ofctl add-flow s2 in_port=1,actions=drop
mininet> pingall
开启 http 服务:
mininet> h1 python -m SimpleHTTPServer 8080 &
mininet> sh ss -tunlp | grep 8080
安装测试工具:
mininet> sh apt install curl -y
mininet> sh apt install wget -y
测试下载:
mininet> h3 wget -O h1 http://10.0.0.1:8080
mininet> h3 curl http://10.0.0.1:8080
评分标准
(1)在 ODL 主机上, opendaylight-user@root>输入: feature:list | grep odl-mdsal-apidocs 获取结果; 【3 分】
评分要点: 能看到一个 X 标记即可 |
feature:list | grep odl-mdsal-apidocs
(2)在 ODL 主机上, opendaylight-user@root>输入: feature:list | grep odl-l2switch-switch-ui 获取结果; 【3 分】
评分要点: 能看到一个 X 标记即可 |
feature:list | grep odl-l2switch-switch-ui
(3)谷歌浏览器访问 URL 地址, 并通过默认账号进入管理界面, 登录界面和通过默认账号进入管理界面分别截 1 张图; 【6 分】
评分要点: 能正常显示该页面即可, 得 3 分 |
评分要点: 能正常显示该页面即可, 得 3 分 |
(4)登录 ODL 管理界面, 查看 topology 界面, 截图拓扑示意图; 【3 分】
评分要点: 能正常显示拓扑图, 得 3 分 |
(5)在 ODL 主机上通过 mininet> sh netstat -an |grep 81.6.63.100:6653 并截图 【5 分】
评分要点: 存在 6 个 established 即可 |
sh netstat -an |grep 81.6.63.100:6653
(6)通过 OVS 下发流表前, 在 ODL 主机上的 mininet 模式下, 执行 mininet> pingall 并截图获取主机直接 ping 测试; 【5 分】
评分要点: 能够全通即可 |
(7)通过 OVS 下发流表后, 在 ODL 主机上的 mininet 模式下, 执行 mininet> pingall 并截图获取主机之间的 ping 测试;【5 分】
评分要点: H1 只能和 H3 互通, 其他都无法互通 |
(8)mininet> h3 wget http://10.0.0.1:8080【5 分】
评分要点: 存在 saved 关键字即可得分 |