sdn组网过程

江枫思渺然 提交于 2020-02-05 15:42:37

创建交换机

root@mininet:~# ovs-vsctl add-br s1
root@mininet:~# ovs-vsctl add-br s2

添加端口

root@mininet:~# ovs-vsctl add-port s1 p1 #在交换机s1上添加port设置
root@mininet:~# ovs-vsctl set Interface p1 ofport_request=10
root@mininet:~# ovs-vsctl set Interface p1 type=internal

同理,创建交换机sl上的端口p2,s2上的端口p3、p4

root@mininet:~# ovs-vsctl add-port s1 p2
root@mininet:~# ovs-vsctl set Interface p2 ofport_request=11
root@mininet:~# ovs-vsctl set Interface p2 type=internal
root@mininet:~# ovs-vsctl add-port s2 p3
root@mininet:~# ovs-vsctl set Interface p3 ofport_request=1
root@mininet:~# ovs-vsctl set Interface p3 type=internal
root@mininet:~# ovs-vsctl add-port s2 p4
root@mininet:~# ovs-vsctl set Interface p4 ofport_request=2
root@mininet:~# ovs-vsctl set Interface p4 type=internal

分别查看添加端口后的交换机
在这里插入图片描述
添加主机
为了不影响网络中已有地址发生冲突,需要创建Namespace作为实验的终端主机。创建主机之后,需要为其设置虚拟IP,最后将其连接到OVS的数据端口,完成主机接入工作。本实验中,我们创建了hl和h2两个虚拟主机,设置IP分别为192.168.10.10和192.168.10.11,并将这两个主机分别接入到两个OVS实例上。

root@mininet:~# ip link set p4 netns h2
root@mininet:~# ip netns exec h2 ip addr add 192.168.10.11/24 dev p4
root@mininet:~# ip netns exec h2 ifconfig p4 promisc up

root@mininet:~# ip link set p1 netns h1
root@mininet:~# ip netns exec h1 ip addr add 192.168.10.10/24 dev p1
root@mininet:~# ip netns exec h1 ifconfig p1 promisc up

创建交换机链路
首先,需要将对应的端口设置为patch类型

root@mininet:~# ovs-vsctl set interface p2 type=patch
root@mininet:~# ovs-vsctl set interface p3 type=patch

创建p2到p3的内部链路,命令如下

root@mininet:~# ovs-vsctl set interface p2 options:peer=p3
root@mininet:~# ovs-vsctl set interface p3 options:peer=p2

最后,还需要向交换机添加对应的流表项,将交换机sl从10端口进入的数据转发到11端口,反向同理,s2操作同s1,具体操作如下。

root@mininet:~# ovs-ofctl add-flow s1 "in_port=10,actions=output:11"
root@mininet:~# ovs-ofctl add-flow s1 "in_port=11,actions=output:10"
root@mininet:~# ovs-ofctl add-flow s2 "in_port=2,actions=output:1"
root@mininet:~# ovs-ofctl add-flow s2 "in_port=1,actions=output:2"

创建完成之后,查看流表
在这里插入图片描述
在Network Namespace h1环境下执行ping 192.168.10.11的操作
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!