![패킷을 라우팅할 때 Linux 커널은 어떻게 올바른 src IP를 선택합니까?](https://linux55.com/image/214377/%ED%8C%A8%ED%82%B7%EC%9D%84%20%EB%9D%BC%EC%9A%B0%ED%8C%85%ED%95%A0%20%EB%95%8C%20Linux%20%EC%BB%A4%EB%84%90%EC%9D%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%98%AC%EB%B0%94%EB%A5%B8%20src%20IP%EB%A5%BC%20%EC%84%A0%ED%83%9D%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
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입니다. 왜 리눅스 커널은 선택 192.168.200.2
하고 선택하지 않습니까 192.168.100.215
?