calico网络 pod 网关 default via 169.254.1.1 dev eth0

Posted fengjian1585

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了calico网络 pod 网关 default via 169.254.1.1 dev eth0相关的知识,希望对你有一定的参考价值。

nginx pod 安装

apt-get update
apt install net-tools # ifconfig
apt install iputils-ping # ping
apt install dnsutils
apt-get install iproute iproute-doc
apt-get install iproute2
apt-get install ethtool

 

 

 

 

 

169.254.1.1是默认的网关,但是整个网络中没有一张网卡是这个地址。

如一个网络中设备D1 (192.168.0.2/24) 与设备D2 (192.168.1.2/24) 相互通信时,D1先发送了ARP广播,请求D2的mac地址,
但是由于两个设备处于不同网,也就是说D1的ARP请求会被R1拦截到,然后R1会封装自己的mac地址为,然后由R1代替D1去访问D2。 在Kubernetes Calico网络中,当一个数据包的目的地址不是本网络时,会先发起ARP广播,网关即169.
254.1.1收到会将自己的mac地址返回给发送端,
后续的请求由这个veth对进行完成,使用代理arp做了arp欺骗。这样做抑制了arp广播攻击,并且通过代理arp也可以进行跨网络的访问。

 

node服务器上查看对端网络

 

 

cali21a9df9f120对arp请求 169.254.1.1 做了代理(网卡开启了proxy_arp)
到达HOSTB后,根据内核连接跟踪功能POSTROUTING做SNAT,PREROUTING会做DNAT,源ip和目的ip 分别转换为192.168.0.2:和192.168.1.2

 

 

 

 

参考

https://www.cnblogs.com/LC161616/p/14387355.html
https://blog.csdn.net/m0_37504101/article/details/78815008

 

以上是关于calico网络 pod 网关 default via 169.254.1.1 dev eth0的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes网络模型 -flannel +Calico

K8s网络插件flannel与calico

一文学会Calico网络自定义

一文学会calico及k8s网络策略入门

Kubernetes之NetworkPolicy,Flannel和Calico

K8s网络组件-Calico