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