パケットをルーティングするとき、Linuxカーネルはどのように正しいsrc IPを選択しますか?
CalicoをCNIプラグインとして使用するkubernetesクラスタがあります。私のローカルルーティングテーブルから、次のいくつかのルートを取得できます。 root@k8s-master:~# ip r default via 192.168.100.1 dev ens18 proto dhcp src 192.168.100.215 metric 100 10.222.235.232 dev cali5bda0fdd27a scope link # route to pod 10.222.235.233 dev cali1209a63af2b scope link 10.222.235.235 dev cali12d4a061371 scope link 10.222.235.241 dev cali9d4dd01dda6 scope link 10.222.235.246 dev calid0a379e0710 scope link 10.222.235.248 dev cali67ee1300377 scope link 私のコンピュータには複数のインターフェイスがあります。パケットをポッドにルーティングするときに、Linuxカーネルが正しいsrc IPを選択する方法を知りたいです。 root@k8s-master:~# ip r get 10.222.235.232 10.222.235.232 dev cali5bda0fdd27a src 192.168.200.2 uid 0 cache cali5bda0fdd27aインターフェイスに IP アドレスがありません。これは、ホストネットワークの名前空間にあるvethペアの一方の端です(もう一方の端はコンテナネットワークの名前空間にあります)。 192.168.200.2他のインターフェイスのIPです。なぜLinuxカーネルは選択192.168.200.2して選択しないのですか192.168.100.215?