image-20210901112626274

------分割线------

我们在k8s-calico2这个node上来看。执行ip r, 在这个node的路由中,需要我们关注的有:

192.168.97.2 dev calic285cddbb40 scope link 
blackhole 192.168.97.0/26 proto bird 
192.168.210.192/26 via 10.173.32.26 dev eth0 proto bird 
192.168.211.0/26 via 10.173.32.25 dev eth0 proto bird

192.168.97.2 dev calic285cddbb40 scope link 这条路由将通向容器ip的请求导向veth:calic285cddbb40 ,进而让请求直达容器内的网卡。
blackhole 192.168.97.0/26 proto bird 表示发往192.168.97.0/26网段的报文都会被丢弃且不会回复源端。配置这条路由的原因是:这台机器上的calico网络可分配的cidr是192.168.97.0/26,容器里访问同网段的其他IP时,配置该路由以避免报文被发到外部。
最后两条,分别记录了:要访问calico网络中的某个网段,需要以对应的node IP为网关,通过eth0发包。也就是说通过这两条路由,可以将部分网段(目的IP)的包经由eth0发送到正确的地方。

------分割线------

默认路由

默认路由(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。

默认路由静态路由的命令格式一样。只是把目的地ip和子网掩码改成0.0.0.0和0.0.0.0。

image-20210908113204469

参考:

ip route 解释
calico网络模型中的路由原理 - SegmentFault 思否

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐