标签:one nbsp ifconfig 端口 lock 完成后 使用 mininet 抓包
此实验为sdnlab上Open vSwitch系列实验。
一、实验目的
二、实验原理
Open vSwitch创建GRE原理很简单,就是把对GRE头和外部IP头的一些操作从原来的代码中抽象出来,做成内核“库函数”的形式,然后 Open vSwitch中就可以直接调用它们了。 Open vSwitch GRE tunnel没有注册网络设备,因此无法通过iplink看到它,它只是一个vport而已,所以能通过ovs-vsctl show可以看到。
三、实验步骤
1、配置mininet1
(1)创建br0,配置br0的IP地址为20.0.2.12,将端口eth0加入br0,并设置br0的网关为20.0.2.9。
(2)创建br1,配置br1的IP地址为172.171.6.6。(ifconfig br1 172.171.6.6/24 up),并使用ifconfig查看网络配置信息。
2、配置mininet2
(1)创建br0,配置br0的IP地址为20.0.2.11,将端口eth0加入br0,并设置br0的网关为20.0.2.9。
1 # ovs-vsctl add-br br0 2 # ovs-vsctl add-br br1 3 # ifconfig eth0 0 up 4 # ifconfig br0 20.0.2.11 netmask 255.255.255.248 5 # route add default gw 20.0.2.9 6 # ovs-vsctl add-port br0 eth0
(2)创建br1,配置br1的IP地址为172.171.6.7,并使用ifconfig查看网络配置信息。
# ifconfig br1 172.171.6.7/24
3、测试mininet1 ping 20.0.2.11 ping成功。由于两台设备都有将eth0口加入br0,拥有实际链路,arp广播请求都能正常发送接受,所以能ping通。
用172.171.6.7 ping 172.171.6.6 ping失败。由于没有将实际链路的接口加入br1,所以无法成功。
4、配置GRE隧道
根据传统配置gre隧道方法,需要配置以下参数:
我们使用命令给mininet1的br1加入一个gre1的接口,类型为gre,对端IP地址为20.0.2.11,因为是对br1操作,br1已经有IP地址,所以本端地址不用指定:
sudo ovs-vsctl add-port br1 gre1 -- set interface gre1 type=gre option:remote_ip = 20.0.2.11
配置完成后的ovs情况:
对mininet2也进行同样的配置,只是将对端IP地址改为20.0.2.12。
5、利用wireshark抓包验证gre隧道
将源地址为172.171.6.7的ICMP包进行封装,在外部又套了一层源地址为20.0.2.11的ICMP包,由于交换机识别数据包是以外层包装来识别,而arp表又有20.0.2.11的的mac地址,所以能顺利将数据包送到对端,对端处理数据包时再剥离外层封装即可。数据包构造如下:
至此,OpenvSwitch的GRE隧道构建成功。
标签:one nbsp ifconfig 端口 lock 完成后 使用 mininet 抓包
原文地址:https://www.cnblogs.com/kl107/p/13189625.html