F5 라우트 도메인과 MPLS VRF: 테넌트 핸드오프 매핑
테넌트 두 개, 주소 하나, 라우트 도메인 두 개. 각 객체를 %ID로 고정하고, 공급자의 VRF와 라우트 타깃을 사용하며, 테넌트별로 따로 검증합니다.
두 테넌트가 10.50.0.10에서 같은 애플리케이션을 실행합니다. 공급자는 이들을 별도의 MPLS VPN으로 분리하고, BIG-IP는 각자의 로컬 트래픽을 별도의 라우트 도메인에 유지합니다. 이 구성은 핸드오프 지점까지 동작하는데, 거기서 접미사가 빠지거나 라우트 타깃이 복사되면 한 테넌트의 패킷이 조용히 다른 테넌트의 컨텍스트로 들어갑니다. 이 런북은 두 모델을 함께 매핑하고 테넌트별 테스트로 끝납니다.
워크시트: 테넌트당 한 행
무엇이든 바꾸기 전에 이것을 채우십시오. 이후의 각 단계는 이 시트의 셀을 참조하며, 빈 셀은 아직 아무도 내리지 않은 결정입니다.
| Tenant | BIG-IP side | Provider side |
|---|---|---|
| A | VLAN or tunnel, route domain, self address, virtual server | VRF, attachment, route targets for import and export |
| B | Separate VLAN or tunnel, separate route domain, separate self address | Separate VRF, separate route targets |
1단계: 각 객체를 해당 라우트 도메인에 고정
F5의 라우트 도메인 문서는 격리된 트래픽 컨텍스트, 중복 주소, 구성 객체의 address%ID 표기를 설명합니다. 10.50.0.10%2로 표기된 주소는 로컬 라우트 도메인 컨텍스트를 가리키며, 그 접미사는 고객의 IP 패킷에 실리는 MPLS 레이블이 아닙니다.
문서화된 모델에서 VLAN이나 지원되는 터널은 하나의 라우트 도메인에 속하므로 인터페이스와 주소가 일치해야 합니다. 관리 파티션의 기본 라우트 도메인도 확인하십시오. 접미사를 생략해도 컨텍스트가 없는 것이 아니라 파티션이 기본으로 사용하는 컨텍스트를 뜻하기 때문입니다. 이 단일 기본값이 새 객체가 조용히 잘못된 테넌트에서 응답한 대부분의 사고를 설명합니다. 자체 주소를 추가하기 전에 확인하십시오.
tmsh list net route-domain
tmsh list net vlan | grep -i domain
tmsh list ltm virtual one_vs
2단계: 공급자의 VRF와 라우트 타깃 사용
MPLS 에지에서 테넌트는 공급자의 VRF와 합의된 고객 라우팅 서비스로 식별됩니다. 라우트 타깃은 공급자가 VRF 사이에서 어떤 경로를 가져오고 내보내는지 제어하며, 비슷해 보이는 BIG-IP 라우트 도메인 번호를 고른다고 해서 그 관계가 생기지는 않습니다.
두 식별자는 서로 다른 시스템에 존재하고 다른 의미를 가집니다. 라우트 도메인 ID는 어플라이언스의 로컬 컨텍스트입니다. 라우트 타깃은 경로 분배를 결정하는 공급자 측 정책 속성이며, 라우트 디스팅귀셔는 또 다른 세 번째 요소로, 그렇지 않으면 동일한 프리픽스를 구분해 유지하는 데 사용됩니다.
3단계: 컨텍스트가 도달 가능성을 공유할지 결정
상위 도메인 조회와 엄격한 격리 설정을 의도적으로 검토하십시오. 컨텍스트가 도달할 수 있는 범위를 바꾸기 때문입니다. F5 가이드는 이러한 관계를 통한 통제된 전달을 허용하며, 바로 그렇기 때문에 라우트 도메인을 단독으로 완전한 테넌트 보안 정책으로 취급해서는 안 됩니다.
두 테넌트 모두 공유 서비스가 필요하면 한 테넌트를 다른 테넌트의 라우팅 컨텍스트로 무심코 지정하는 대신 승인된 경로와 권한을 명시하십시오. 애플리케이션 ID와 의도적인 소스 변환이 있으면 네트워크 목적지와 함께 유지하십시오. 그렇지 않으면 공유 서비스가 한 테넌트를 다른 테넌트로 보게 됩니다.
일반적인 라우팅 핸드오프는 BIG-IP를 MPLS PE로 만들지 않고 BIG-IP를 공급자 에지 라우터에 연결합니다. MPLS 또는 VPN 경로 제품군의 직접 통합이 정말 필요하면 정확한 플랫폼과 릴리스에 대한 명시적 지원을 확보하십시오. 로컬 라우트 도메인 격리는 그 기능을 보장하지 않습니다.
4단계: 한 번에 테넌트 하나씩 검증
테넌트 A를 A의 컨텍스트에 있는 엔드포인트에서 A의 애플리케이션 주소로 테스트하고, 그다음 B에 대해 반복하십시오. 진단에서는 %ID 형식을 사용해 어느 컨텍스트가 응답했는지 증명하고, 잘못된 컨텍스트의 요청이 그럴듯한 곳에 도달하는 대신 실패하는지 확인하십시오.
같은 과정에서 공급자 측도 확인하십시오. 프리픽스가 올바른 VRF에 있고, 라우트 타깃이 워크시트와 일치하며, 반환 경로가 의도한 연결을 사용해야 합니다. 어플라이언스 자체에서 성공하는 ping은 어플라이언스의 컨텍스트를 증명할 뿐 테넌트의 것은 아닙니다.
최종 매핑을 워크시트에 기록하십시오. 각 파티션의 기본 라우트 도메인과 활성화한 상위 도메인 관계를 포함합니다. 이 환경의 다음 변경은 이 글을 읽는 사람이 아니라 그 표를 읽는 사람이 수행합니다.