1.VPC内同宿主机同子网转发定位
2.1 转发模型
2.2 流量路径
vm1 -> tap-xxx -> qvb-xxx -> qvo-xxx -> vm1宿主机物理网卡 -> vm1宿主机bond2.4006 -> DPVS -> vm2宿主机物理网卡 -> qvo-xxx -> qvb-xxx -> tap-xxx -> vm2
2.3 抓包点及命令
重要抓包点:物理口 qvo接口 tag接口
抓包命令:sudo tcpdump -nne -i enss33 "((udp[42:4]=$(printf "0x%02x%02x%02x%02x" 192 168 0 195) and udp[46:4]=$(printf "0x%02x%02x%02x%02x" 192 168 0 27)))"
IP填写为虚拟机源/目的IP
qvo和tag口查询方法:
在控制节点通过虚机ID查询到port ID
再通过qvo-xxx口和tag-xxx口去抓包
2.4抓包分析
bond口抓不到包:DPVS设备未转发过来流量,排查DPVS VIP规则和流表状态
ipvsadm -ln 查看规则表 ipvsadm -lnc 查看流表 |
重点看RS对应的宿主机IP和VNI配置是否正确
qvo口抓不到包:宿主机未配置到DPVS机器的隧道
宿主机没有使能到DPVS设备的VTEP neutron evtep-create --evtep-ip {vxlan_ip} 这个命令是宿主机新建一条到外源机器的vxlan隧道连接 |
tag口抓不到包:安全组配置问题拦截了流量
2.VPC内跨宿主机跨子网转发定位
2.1 转发模型
跨子网转发多了qrouter流程,vm流量先到qrouter上,再转到dpvs
跨子网转发不通先ping qrouter网关IP,如192.168.0.1,不通看看qrouter是否存在,不存在联系网络组排查
2.2 流量路径
vm1 -> tap-xxx -> qvb-xxx -> qvo-xxx -> qrouter-xxx -> vm1宿主机物理网卡 -> vm1宿主机bond2.4006 -> DPVS -> vm2宿主机物理网卡 -> qvo-xxx -> qvb-xxx -> tap-xxx -> vm2
2.3 抓包点及命令
bond,tag,qvo口抓包同上
qrouter抓包
进入虚拟对应的qrouter命令行,qrouter id可通过管理台前端看到路由标识
sudo ip netns exec qrouter-XXX bash
在qrouter的ns里抓包虚拟接口
tcpdump -i qr-xxx -ennvv
在qrouter里查询静态ARP,是否配置有到VIP的静态ARP
无静态ARP需加上,否则跨子网转发不通