Neutron 基础

Jneee 于 2020-04-12 发布

深入理解Neutron

Neutron源码解读 https://github.com/yeasy/openstack_code_Neutron/blob/master/SUMMARY.md

neutron 流量全生命周期跟踪

学习笔记,来自视频 https://www.bilibili.com/video/BV15x411C7VE

同一个主机和子网

RED1-RED2的流量跟踪

# vm1:查看地址,预置流量
ip a
ping 10.0.0.2

computer1:
# 在对应的host上的Port id(0e6)
nova interface-list RED1
# 查看网桥,根据port ID前三位找到vm1的bridge
brctl show
# 一个快速抓包 icmp流量,看到有段信息是mac1 >> mac 2,这个信息等会会用到
tcpdump -i tap0e6xxx -n -e icmp

# 关于安全组,这里查看了3组规则,不太懂
iptables -S|grep o0e6

# 查看Linux bridge 和port
ovs-vsctl show
# Bridge br-int
#   Port name
#      tag: (vlan id)
#      interface: o0e6

watch -n.5 "ovs-ofctl dump-flows br-int table=0 |grep -v n_packets=0"
可以从之前的步骤中看到RED2的mac地址:mac2

# 看到 mac2 的分发策略(出口4)
ovs-appctl fdb/show br-int
# port VLAN MAC Age

ovs-vsctl show br-int
# 4(qvo3999):addr:mac2
# 3999是对应RED2的 openvswitch 端口

#在我们去RED2之前,还要看一下另一个网桥
brctl show
# qbr3999

# 现在看一下RED2的入方向安全组规则
iptables -S|grep 3999
ipset list

2 不同host vm的流量跟踪

image

ping 10.0.0.6

# cmputer1
ovs-appctl fdb/show br-int

ovs-ofctl show br-int
# 9(patch-tun):addr 

ovs-vsctl show
# 在br-int上:
# Port patch-tun
      Interface patch-tun
      type: patch-tun
      options : {peer=patch-int}
# Bridge br-tun :
      Port patch-int

ovs-ofctl show br-tun
# 1(patch-int) : addr 

watch -n.5 "ovs-ofctl dump-flows br-tun table=0 "
# 来自端口1的呗转发到规则table1
# in_port=1 action=resubmit(,1)

watch -n.5 "ovs-ofctl dump-flows br-tun table=1"
...
#TODO 补一下这里的流表规则
# 参数 set_tunnel:0x1e output=5

# 查询输出端口5
ovc-ofctl show br-tun
# 5(vxlan-0a00):addr

ovs-vsctl show
# 在br-tun上:
# Port "vxlan-0a00"
      Interface "vxlan-0a00"
      type: vxlan
      # local_ip host ip ,remote_ip : computer2 ip
      options : {,local_ip="10.0.1.11",remote_ip="10.0.1.12"}

在computer2上面:ovs-vsctl show找到br-tun网桥上面对应的Port ,用ovs-ofctl show br-tun查看到这个端口是端口5,看一下流量信息 `watch -n.5 “ovs-ofctl dump-flows br-tun table=0”,看到来自端口5的流量被提交到了table 4,查看table 4,

watch -n.5 "ovs-ofctl dump-flows br-tun table=0
# tun_id=0x1e, actions=mod_vlan_vid:2, resubmit(,9)

根据tun_id=0x1e字段判断这个是来自对应vxlan的,加上了vlan_vid,提交到table9。

3 在同一host上的不同网络的vm通信

image

现在因为有本地的qrouter 加持,这种流量不用离开host

4 不同的网络和host上的虚机通信

image

和上例类似,流量直接在host1里面转换到vlan2直通Green2的vlan1

5 南北向浮动ip

image

6 SNAT

待补充

WLAN模式下的网络节点

wlan 模式下的计算节点

br-tun 转发规则