Linux 소스 주소 선택 이해

Linux 소스 주소 선택 이해

2개의 IP 주소를 가진 Linux 서버가 있습니다. 하나는 ULA(fd00::/8)이고 다른 하나는 GUA(2000::/3)이며 둘 다 루프백 인터페이스에 할당됩니다. 내 라우팅 테이블에는 srcLinux가 특정 대상에 대해 특정 주소를 선택하도록 명시적으로 강제하는 경로의 속성이 포함되어 있습니다. 표준 주소 레이블은 대상이 ULA일 때 ULA가 사용되고 대상 토지가 다음인 경우 GUA가 사용되도록 해야 하지만 일어나지 않을 GUA. 실행하면 주어진 접두사와 일치하는 라우팅 테이블에 경로가 하나만 있어도 this 를 실행하는 것과 다른 결과를 ip r g얻습니다 . 또한 Linux가 올바른 소스 주소와 잘못된 소스 주소 사이를 무작위로 전환하여 연결 적중 또는 연결 끊김이 발생하므로 이 동작은 불규칙합니다.srcip r

root@ninym:~# ip r g fd2e:9fea:c7ed:53::
fd2e:9fea:c7ed:53:: from :: via fe80::60:1 dev eth0 proto bgp src 2001:db8:60:2:: metric 20 pref medium
root@ninym:~# ip r | grep ^fd2e:9fea:c7ed:53::
fd2e:9fea:c7ed:53::/64 nhid 6 via fe80::60:1 dev eth0 proto bgp src fd2e:9fea:c7ed:6002:: metric 20 pref medium

편집: 따라서 이 경로는 BGP를 통해 frr에서 오고 있으며 다음과 같은 경로 맵이 있습니다. 이 경로 맵을 비활성화하면 문제가 해결되지만 이상적이지는 않습니다. 일부 서버에는 여러 개의 ULA가 있고 이를 통해 항상 올바른 ULA가 선택되도록 할 수 있기 때문에 이런 방식으로 설정했습니다. 이 서버에는 여러 개의 서버가 없기 때문에 이 서버에서 비활성화할 수 있지만 다른 서버보다 몇 개 더 많은 서버를 제외하고 내 모든 서버에 영향을 미칩니다. 이것이 frr 버그인지 아니면 내 로드맵에 문제가 있는 것인지 확실하지 않습니다.

route-map src_map permit 10
 match ipv6 address gua
 set src 2001:db8:60:12::
exit
!
route-map src_map permit 20
 match ipv6 address ula
 set src fd2e:9fea:c7ed:6012::
exit

관련 정보