标签:floodlight sdn
第二届sdn大赛--必答题2
第2小题:访问限制
@温州大学12网工
一、 实验背景
为了防止外界对服务器进行DDOS攻击,限制一定时间内不能访问太过频繁。通过对特定网段、服务建立的访问控制体系,将绝大多数攻击阻止在到达攻击目标之前。
二、 实验目的
搭建简单网络,先使得 PC机访问服务器成功(即看到服务器的网页),之后限制该 PC机一定时间(比如一分钟)内再次访问服务器。限制时间过后,PC 机可以成功访问服务器。
三、 实验环境搭建
我们将在SDN虚拟机中通过mininet搭建一个如图1.1所示的简单网络拓扑。
由控制器控制2个交换机 S3、S4。
S3 与 S4 连接,S3 连接 1 个主机 h1(代表本题中的台式机) ,S4 连接1 个开启web服务的主机 h2(代表本题中的服务器 )。(如图1.1所示)
图1.1访问限制拓扑图
四、 实验过程及结果
(一)mininet创建拓扑
在终端中输入以下命令创建拓扑:
>>sudo mn --custom /home/ubuntu/mininet/custom/topo-2sw-2host.py --topo mytopo --switch ovsk --controller=remote,ip=192.168.181.142,port=6633
命令内容已在第一小题中解释,此处不再赘述。
结果如图1.2,图1.3所示,此拓扑由两台主机h1,h2和两台交换机s3,s4组成,h2为服务器,拓扑图如图1.1所示。
图1.2:mininet建立拓扑
图1.3:Floodlight 网络拓扑结构显示图
(二)开启h2的web服务并访问
在mininet中输入以下命令:
>>h2 python -m SimpleHTTPServer 80 & #开启h2的web服务
>>xterm h1 h2
并在/home/ubuntu/处加入index.html作为h2的web页面。
index.html的内容如图1.4所示:
图1.4:服务器的web页面
在Node:h1中输入以下命令,访问服务器h2的web页面:
>>wget -O - 10.0.0.2/index.html
获得结果如图1.5所示。
图1.5:PC机访问服务器成功
由图1.5可知主机h1访问服务器成功。
(三)添加流表限制主机h1在60s内无法访问服务器
在终端输入以下命令添加流表:
>>ovs-ofctl add-flow s1 hard_timeout=60,priority=1,in_port=2,actions=drop
>>ovs-ofctl dump-flows s3
这条流表可以使h1在60s内无法对h2(即服务器)进行访问。60s后流表失效,h1又可以对h2进行访问。结果如图1.6,1.7所示。
图1.6:设置流表使h1在60s内无法访问h2
图1.7:h1在60s内不能访问,限制时间过后恢复访问
如图1.6所示,我们可以通过ovs-ofctl dump-flows s3命令观察s3的流表信息。
从结果图1.7可知实现题目要求。
标签:floodlight sdn
原文地址:http://blog.csdn.net/tomstrong_369/article/details/46392687