kubernetes pod之间通信的抓包(flannel)

环境概要

kubernetes版本:v1.15.0
操作系统: centos7
192.168.1.70——master节点——flannel子网10.244.0.0/24
192.168.1.71——node节点——flannel子网10.244.1.0/24
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

情景1:在master节点上发送ICMP包到node节点上的pod

在这里插入图片描述

在master节点上监听外网卡ens32

#8472是flannel进程监听的端口
#10.244.0.0是源VTEP设备的IP
#10.244.1.9是目的Pod的IP
[root@master ~]# tcpdump udp -i ens32 -nn

14:42:43.792927 IP 192.168.1.70.44197 > 192.168.1.71.8472: OTV, flags [I] (0x08), overlay 0, instance 1
IP 10.244.0.0 > 10.244.1.9: ICMP echo request, id 48129, seq 441, length 64
14:42:43.793258 IP 192.168.1.71.41132 > 192.168.1.70.8472: OTV, flags [I] (0x08), overlay 0, instance 1
IP 10.244.1.9 > 10.244.0.0: ICMP echo reply, id 48129, seq 441, length 64

发现:数据包外层IP是双方宿主机IP,内层IP是flannel.1网卡的IP和目标pod的IP

在node1节点上监听flannel.1设备和cni0设备

监听flannel.1设备
在这里插入图片描述
监听cni0设备

在这里插入图片描述

情景2:master的Pod中ping node1节点上的Pod

进入pod中去ping另一个节点上的pod
在这里插入图片描述

在master节点上监听外网卡ens32

#8472是flannel进程监听的端口
#10.244.0.5是源Pod的IP
#10.244.1.9是目的Pod的IP
[root@master ~]# tcpdump udp -i ens32 -nn
15:11:18.245905 IP 192.168.1.70.59468 > 192.168.1.71.8472: OTV, flags [I] (0x08), overlay 0, instance 1
IP 10.244.0.5 > 10.244.1.9: ICMP echo request, id 4352, seq 0, length 64
15:11:18.246494 IP 192.168.1.71.60179 > 192.168.1.70.8472: OTV, flags [I] (0x08), overlay 0, instance 1
IP 10.244.1.9 > 10.244.0.5: ICMP echo reply, id 4352, seq 0, length 64

发现:数据包外层IP是双方宿主机IP,内层IP是两个pod的IP

在node1节点上监听flannel.1设备和cni0设备

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nangonghen/article/details/102024843