[SDN]使用mininet搭建单臂路由的VLAN网络

✌️作者:清水寺丞
☀️简介:正在学习unity,数据库,计算机通信网络和python。喜欢部署各种奇奇怪怪的小项目。喜欢就点个关注一起学习吧~⛄️⛄️⛄️⛄️

前言:

本文实践了使用mininet来搭建一个使用单臂路由实现VLAN间通信。

主要内容包含:linux设置vlan子接口,控制ovs交换机实现vlan功能,配置路由表项。

实验环境:

如果没有安装mininet的话

可以使用如下连接中的安装教程安装mininet虚拟机与实现图像化

http://t.csdn.cn/4XEIb

本文网络拓扑使用miniedit搭建,在环境中使用如下代码启动miniedit

cd ~/mininet/examples

sudo python2 miniedit.py

一、拓扑图与ip,网关配置

本文使用以下拓扑图

[SDN]使用mininet搭建单臂路由的VLAN网络_第1张图片

 

 说明:

1.r2-eth0.xx为r2-eth0的vlantag=xx的子接口

2.trunk=11,22表示该端口会发送来自其他接口的vlantag为11,22的数据帧

3.vlanxx表示交换机该接口的vlantag为xx,该接口给所有数据帧打上xx的vlan标志

4.路由器只有使用对应子接口才能解析来自trunk带有vlantag的数据帧

5.请在miniedit中勾选左上角的Edit-》preferen中的Start CTL

二、配置路由器,交换机

点击run启动拓扑。

8aa01171cc9c4fac8063755c8387bb43.png

 

1.配置交换机和VLAN

本模块命令都在mininet>中输入

首先给让s1按照正常交换机的方式运作

sh ovs-ofctl add-flow s1 priority=0,actions=normal

输入如下命令查看连接情况

links

31abda3363c94d43a372d6ae4025ab6e.png

发现s1-eht2与h1-eth0相连,使用如下命令设置s1-eth2为vlan11接口

sh ovs-vsctl set port s1-eth2 tag=11

同理,设置s1-eht3为vlan22接口

sh ovs-vsctl set port s1-eth3 tag=22

接下来配置交换机连接路由器的s1-eth1接口为trunk,允许带有vlantag为11,22的数据帧通过

sh ovs-vsctl set port s1-eth1 trunk=11,22

 

 交换机与VLAN配置结束。

2.配置路由器

首先需要打开路由器的终端,使用如下命令打开路由器终端

2e4bee9c82a64586b84fed32df4eed91.png

配置路由器的阶段命令非特别说明将全在如下终端执行

[SDN]使用mininet搭建单臂路由的VLAN网络_第2张图片

 --------------------------------------------------------------------------------------------------------------------------------

31abda3363c94d43a372d6ae4025ab6e.png

由上图可见路由器的r2-eth0接口连接s1-eth1,即连接trunk,使用如下命令给路由器该接口设置对应vlan11与vlan22的子接口。

命令说明:vconfig add r2-eth0 vlantag 为给 r2-eth1设备添加vlantag的子接口r2-eth0.vlantag

vconfig add r2-eth0 11

vconfig add r2-eth0 22

接下来使用如下命令设置子接口ip与掩码,并且开启子接口

命令说明:ifconfig r2-eth0.11 10.0.0.1/24 up 的意思是设置接口r2-eth0.11的ip与掩码为10.0.0.1/24。up的意思为启动该接口。

ifconfig r2-eth0.11 10.0.0.1/24 up

ifconfig r2-eth0.22 10.0.1.1/24 up

此时测试h1与h2能否ping其网关(请在下图中界面执行),可见可以ping通了,说明子接口生效。

[SDN]使用mininet搭建单臂路由的VLAN网络_第3张图片

此时回到r2的终端输入如下指令查看路由表

route -n 

发现在添加虚拟子接口时已经添加了对应的路由表项。

[SDN]使用mininet搭建单臂路由的VLAN网络_第4张图片

故此时在如下窗口可以直接测试h1 ping h2查看连通性

[SDN]使用mininet搭建单臂路由的VLAN网络_第5张图片

 h1和h2可以通信,单臂路由vlan网络搭建成功。

附加命令说明:

#设置路由表表项,如直连网络gw字段可省略

route add -net 目标网络号/掩码位数 gw 下一条ip dev 发送接口

#删除路由表表项

route del -net 目标网络号/掩码位数

如本次的两条路由表项如果没有自动添加可以使用以下方法添加

route add -net 10.0.0.0/24 dev r2-eth0.11

route add -net 10.0.1.0/24 dev r2-eth0.22

 

 

 

 

 

 

你可能感兴趣的:(SDN,计算机通信网络,网络,SDN,mininet,Linux)