云计算:OVS 集群 使用VXLAN 流表

打印 上一主题 下一主题

主题 884|帖子 884|积分 2652

目录
一、实验
1.情况
2. OVS 集群 使用VXLAN 流表(单租户)
3. OVS 集群 使用VXLAN 流表(多租户)
二、题目
1.如何添加VXLAN接⼝
2.virsh修改云主机MAC报错



一、实验

1.情况

(1) 主机
表1 宿主机

主机架构软件IP网卡备注
ovs_controller控制端
karaf

0.7.3

192.168.204.63
1个NAT网卡

(204网段)

已部署
ovs_server01服务端
OpenvSwitch

     v2.5.1

192.168.204.61
1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署
ovs_server02服务端
OpenvSwitch

     v2.5.1

192.168.204.62
1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署

表2 目标云主机

云主机IP备注
cloudserver01

172.16.1.1
宿主机ovs_server01

cloudserver02172.16.1.2
宿主机ovs_server02


(2) 查看IP
ovs_controller


ovs_server01


ovs_server02


(3)查看OVS
  1. ovs-vsctl show
复制代码
ovs_server01


ovs_server02


(4)查看OVS流表节点
ovs_server01
  1. ovs-ofctl show ovs01
  2. -O OpenFlow13
复制代码

ovs_server02
  1. ovs-ofctl show ovs02 -O OpenFlow13
复制代码


(5) 查看OVS流表信息
ovs_server01
  1. ovs-ofctl dump-flows  ovs01  -O  OpenFlow13
复制代码

ovs_server02
  1. ovs-ofctl dump-flows  ovs02  -O  OpenFlow13
复制代码



2. OVS 集群 使用VXLAN 流表(单租户)

(1)服务端删除云互换机端口
ovs_server01
  1. ovs-vsctl del-port vxlan0
  2. ovs-vsctl show
复制代码

ovs_server02
  1. ovs-vsctl del-port ovs02 vxlan0
  2. ovs-vsctl show
复制代码

(2)添加端口与VXLAN接⼝
ovs_server01
  1. ovs-vsctl add-port ovs01 vtep -- set interface vtep type=vxlan option:remote_ip=192.168.204.62 option:key=flow ofport_request=10
  2. ovs-vsctl show
复制代码
ovs_server02
  1. ovs-vsctl add-port ovs02 vtep -- set interface vtep type=vxlan option:remote_ip=192.168.204.61 option:key=flow ofport_request=10
  2. ovs-vsctl show
复制代码

(3)查看接口
ovs_server01
  1. ovs-ofctl show ovs01
复制代码

ovs_server02
  1. ovs-ofctl show ovs02
复制代码

(4)查看接口列表
  1. ovs-vsctl -- --columns=name,ofport list Interface
复制代码
ovs_server01
ovs_server02

(5)添加控制端
ovs_server01
  1. ovs-vsctl  set-controller  ovs01 tcp:192.168.204.63:6633
复制代码

ovs_server02
  1. ovs-vsctl  set-controller  ovs02 tcp:192.168.204.63:6633
复制代码

(6)查看ODL
Nodes节点信息
Topology拓扑信息(VXLAN-TRUNK没有毗连线)

(7)查看控制端下发的OVS默认流表
ovs_server01
  1. ovs-ofctl dump-flows  ovs01  -O  OpenFlow13
复制代码


ovs_server02
  1. ovs-ofctl dump-flows  ovs02  -O  OpenFlow13
复制代码
(8)流量抓包
ovs_server01 抓取ens33网卡,发送端口随机,接收端口都为4789
  1. tcpdump -i ens33 | grep -i vxlan
复制代码

(9)流量写入本地
ovs_server01 
  1. tcpdump -i ens33 -w vxlan-vni0.pcap
复制代码

云主机01 ping 云主机02

ovs_server01 结束抓包

(10)流向分析
表3 流向分析

云主机cloudserver01流向云主机cloudserver01
in_port=1,action=output:10 → in_port=10,action=output:1
in_port=10,action=output:1   ← in_port=1,action=output:10
(11)查看下载的流量包
过滤vxlan

所有VNI 都被打上标签0


3. OVS 集群 使用VXLAN 流表(多租户)

(1)初始化流表
ovs_server01 
  1. ovs-ofctl  del-flows ovs01 -O Openflow13
复制代码

ovs_server02
  1. ovs-ofctl  del-flows ovs02 -O Openflow13
复制代码

(2)查看流表
ovs_server01 
  1. ovs-ofctl dump-flows ovs01 -O openflow13
复制代码

ovs_server02
  1. ovs-ofctl dump-flows ovs02 -O openflow13
复制代码

(3)查看MAC
ovs_server01 
  1. ovs-appctl fdb/show ovs01
复制代码

ovs_server02
  1. ovs-appctl fdb/show ovs02
复制代码


(4)关闭云主机
cloudserver01

cloudserver02

 (5)查看MAC
cloudserver01

cloudserver02

(6)查看云主机
  1. virsh list --all
复制代码
ovs_server01 

ovs_server02

(7)ovs_server01 修改云主机MAC
  1. virsh edit cloudserver01
  2. :/interface
复制代码


修改前:

修改后:
  1. 00:00:00:00:aa:01
复制代码


(8)ovs_server02修改云主机MAC
  1. virsh edit cloudserver02
  2. :/interface
复制代码

修改前:

修改后:
  1. 00:00:00:00:aa:02
复制代码


(9)再次查看云主机MAC
cloudserver01已更新

cloudserver02已更新

(10)启动云主机
cloudserver01

cloudserver02

(11)修改云主机网卡
cloudserver01

cloudserver02

(12)网络测试
云主机01 ping 云主机02,目前不通

(13)构建⾃定义多租户VXLAN流表
ovs_server01
  1. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=0,in_port=1,actions=set_field:10001->tun_id,resubmit(,1)"
  2. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=0,actions=resubmit(,1)"
  3. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=1,tun_id=10001,dl_dst=00:00:00:00:aa:01,actions=output:1"
  4. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=1,tun_id=10001,dl_dst=00:00:00:00:aa:02,actions=output:10"
  5. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=1,tun_id=10001,arp,nw_dst=172.16.1.1,actions=output:1"
  6. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=1,tun_id=10001,arp,nw_dst=172.16.1.2,actions=output:10"
  7. sudo ovs-ofctl -O OpenFlow13 add-flow ovs01 "table=1,priority=100,actions=drop"
复制代码


ovs_server02
  1. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=0,in_port=1,actions=set_field:10001->tun_id,resubmit(,1)"
  2. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=0,actions=resubmit(,1)"
  3. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=1,tun_id=10001,dl_dst=00:00:00:00:aa:02,actions=output:1"
  4. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=1,tun_id=10001,dl_dst=00:00:00:00:aa:01,actions=output:10"
  5. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=1,tun_id=10001,arp,nw_dst=172.16.1.2,actions=output:1"
  6. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=1,tun_id=10001,arp,nw_dst=172.16.1.1,actions=output:10"
  7. sudo ovs-ofctl -O OpenFlow13 add-flow ovs02 "table=1,priority=100,actions=drop"
复制代码


(14) 查看流表
ovs_server01 
  1. ovs-ofctl dump-flows ovs01 -O openflow13
复制代码

ovs_server02
  1. ovs-ofctl dump-flows ovs02 -O openflow13
复制代码


(15)网络测试
云主机01 ping 云主机02,目前已通

(16)流量抓包下入本地
ovs_server01
  1. tcpdump -i ens33 -w vxlan-vni10001.pcap
复制代码

云主机01 ping 云主机02

抓包结束

(17)流量分析
过滤vxlan

VNI为10001

其他LLDP的VNI为0


(18)流量抓包在线获取
  1. tcpdump -i ens33 | grep -i vxlan
复制代码

云主机01 ping 云主机02

抓包结束(1口的流量VNI为10001,其他LLDP的VNI为0)


二、题目

1.如何添加VXLAN接⼝

(1)ovs_server01 添加
 key=flow表示隧道的VNI是通过流表来指定;ofport_request=10 表示端⼝号码设置为10
  1. ovs-vsctl add-port ovs01 vtep -- set interface vtep type=vxlan option:remote_ip=192.168.204.62 option:key=flow ofport_request=10
  2. ovs-vsctl show
复制代码
(2)ovs_server02 添加
 key=flow表示隧道的VNI是通过流表来指定;ofport_request=10 表示端⼝号码设置为10
  1. ovs-vsctl add-port ovs02 vtep -- set interface vtep type=vxlan option:remote_ip=192.168.204.61 option:key=flow ofport_request=10
  2. ovs-vsctl show
复制代码


2.virsh修改云主机MAC报错

(1)报错
  1. 错误:(domain_definition):71: attributes construct error
  2.       <mac address=''00:00:00:00:aa:01'/>
  3. ---------------------^
  4. 失败的。 Try again? [y,n,i,f,?]:
复制代码

(2)缘故原由分析
配置错误,MAC地点前多了1个单引号。
(3)办理方法
修改配置。
输入重新配置

修改前:

修改后:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表