NX-OS EVPN null 경로: 폐기를 하나의 테넌트 안에 유지하기
Null0 항목은 로컬에서 폐기하며 아무것도 광고하지 않습니다. 태깅, 내보내기 정책, 수신 VTEP 정책은 검토해야 할 세 가지 별개의 결정입니다.
요청은 한 줄짜리 변경으로 들어온다. 특정 주소를 블랙홀 처리하는 것이다. 테넌트 컨텍스트 안에서 Null0로 가는 호스트 경로를 추가하면 프리픽스는 예상대로 로컬 테이블에서 사라지고, 그때부터 질문이 시작된다. 경로가 장비 밖으로 나갔는가? 원격 VTEP가 폐기했는가, 아니면 단지 도달 가능성을 잃었는가? 이제 두 번째 테넌트가 영향을 받는가?
올바른 로컬 정적 경로는 그중 첫 번째 질문에만 답한다. 그래서 블랙홀 변경은 실제로 하나의 명령이 아니라 세 가지 검토된 결과다.
변경이 실제로 만들어야 하는 것
먼저 세 가지 결과를 적는다. 의도한 테넌트는 목적지를 로컬에서 폐기해야 한다. 승인된 경로만 내보낼 수 있고, 다른 것은 함께 이동해서는 안 된다. 수신하는 모든 VTEP는 다른 경로가 아니라 의도한 폐기 동작을 선택해야 한다.
각 결과에는 고유한 증거가 있고 어느 것도 다른 것을 함축하지 않는다. 로컬 Null0 경로는 로컬 폐기를 만들고 재분배가 없으면 아무것도 내보내지 않는다. 합의된 community가 없는 재분배 경로는 일반 프리픽스로 도착해 전달된다. 수신 정책이 없는 community는 완전히 무시될 수 있다.
결과를 먼저 적는 것은 흔한 실패에서도 보호해 준다. 목적지가 무관한 이유로 이미 도달 불가능했기 때문에 성공한 것처럼 보이는 변경이다. 둘을 어떻게 구분할지 설명할 수 없다면 수용 테스트는 아직 설계되지 않은 것이다.
로컬 구문은 첫 부분만 수행한다
10.4(x) 계열 NX-OS에서 null 경로는 VRF 이름을 지정하는 단일 명령이 아니라 테넌트의 VRF 컨텍스트 안에 있다. 단편은 짧고, 결코 완전한 EVPN 구성이 아니다.
vrf context TENANT_A
ip route 192.0.2.10/32 Null0
주소는 문서용 프리픽스이지 대상이 아니다. VRF 이름이 경로 명령 자체 안에 나타나는 IOS와의 구문 차이를 확인하고, 무엇이든 붙여 넣기 전에 실제로 운영하는 릴리스에서 지원되는 형식을 확인한다.
그 자체로 이 줄은 TENANT_A 안에서 해당 호스트의 트래픽을 폐기할 뿐 다른 일은 하지 않는다. 경로에 태그를 붙이지 않고, BGP용으로 선택하지 않고, community를 설정하지 않는다. 이는 별개의 구성 결정이며, 각각은 변경이 동작하기에 너무 좁거나 안전하기에 너무 넓을 수 있는 지점이다.
로컬 폐기는 같은 목적지로 가는 정당한 트래픽에도 영향을 준다. 실제 사용자가 아직 주소를 필요로 하는데 악용하는 발신원 하나를 막으려는 의도라면 null 경로는 잘못된 도구이며, 첫 지원 요청에서 알게 될 것이다.
내보내기와 가져오기는 별개의 합의다
범위는 재분배 단계에서 정해진다. 대상 프리픽스를 승인된 완화책으로 제한하고, 테넌트 안에 유지하고, 원천 피어를 설계에 있는 것으로 제한한다. 태그된 호스트 경로 하나를 보내기 위해 모든 정적 경로를 재분배하는 것이 유지보수 변경을 라우팅 사고로 바꾸는 길이다.
BLACKHOLE community는 잘 알려진 값에 대한 합의이지, 어떤 이웃이든 아무 주소나 폐기하도록 하는 권한이 아니다. RFC 7999는 그런 용어로 설명하며, 누가 이를 광고할 수 있는지에 대한 신뢰 경계는 구현 세부가 아니라 설계의 일부다.
수신 측에는 자체 구성이 필요하다. NX-OS에서 유형 5 null 경로는 폐기 동작을 선택하기 위해 VTEP에서 route-map 처리가 필요하며, 이는 내보내기 단계와 함께 문서화되어 있다. 올바르게 태그하는 송신 장비와 태그를 무시하는 수신 측은 적용된 것처럼 보이면서도 트래픽을 그대로 전달하는 변경을 만든다.
그곳에 있는 동안 route-map의 부작용도 검토한다. 새로 제한적인 정책은 무관한 프리픽스의 정당한 도달 가능성을 억제할 수 있고, 그 피해는 블랙홀보다 늦게 나타나며 원인으로 연결하기 어렵다.
삽입 전에 철회를 작성한다
무엇이든 구성하기 전에 목적지 소유자, 사유, 승인자, 만료일을 기록한다. 만료가 없는 폐기는 출처를 아무도 기억하지 못하는 영구 항목이 되고, 다음에 그 주소를 디버깅하는 사람은 그것을 네트워크의 정상적인 일부로 취급할 것이다.
변경 중인 경로에 의존하지 않는 독립적인 관리 경로를 유지한다. 완화책이 장비에 도달하는 데 사용하는 주소를 포함한다면, 단계가 더 늘어난 잠금을 만든 셈이다.
완화책을 제거하는 정확한 제어를 명시하고, 그 제거를 실험실에서 또는 감당할 수 있는 시간 창에 시험한다. 아무도 연습하지 않은 철회는 절차가 아니라 계획이다.
명령 출력이 아니라 증거로 수용한다
의도한 VTEP에서 선택된 라우팅 상태와 전달 상태를 확인한다, 그리고 영향을 받지 않아야 할 인접 목적지도 확인한다. 다른 테넌트가 프리픽스를 가져오지 않았음을 확인한다. 테넌트 간 누출이야말로 유지보수 작업을 사고로 바꾸는 실패 모드이기 때문이다.
그다음 철회하고 정상 경로와 서비스가 돌아오는지 검증한다. NX-OS EVPN null 경로 안내서는 10.4(x) 릴리스에 대해 여기서 설명한 태깅, 재분배, 수신 정책을 문서화하며, 자신의 릴리스와 대조할 기준이다.