클라이언트는 인증에 성공했다고 말하고, IKE 상태는 건강해 보이며, 패킷 카운터는 영에 머물러 있습니다. 이 조합은 모순이 아닙니다: IKEv2는 제어 관계와 데이터 관계를 분리해 유지합니다, 그래서 첫 번째는 성공하는데 두 번째는 끝내 올라오지 않는 일이 생깁니다. 부모가 협상을 맡고 자식이 트래픽을 맡습니다. 터널이 죽었다고 말하기 전에 두 계층을 따로 읽으세요.

두 SA가 하는 일

IKE SA는 제어 관계입니다: 피어를 인증하고, 보호를 협상하고 교체하고 제거하는 교환을 나릅니다. 애플리케이션 패킷은 절대 나르지 않습니다. 따라서 건강한 부모는 두 끝이 보안 정책에 합의할 수 있다는 것만 증명하고, 그 이상은 증명하지 않습니다.

CHILD SA는 데이터 관계로, 부모 아래에서 만들어지며 하나의 보호 대상에 대한 트래픽 선택자와 키 자료를 가집니다. 방향이 있으므로 상태 출력에는 인바운드와 아웃바운드 연관이 서로 다른 식별자로, 보통 방향별로 다른 카운터와 함께 나열됩니다. 이 짝 때문에 한 방향은 되고 다른 방향은 끊기며, 터널이 올라와 있다는 말이 트래픽에 대해서는 아무것도 말해 주지 않습니다. 하나의 부모가 여러 자식을 가질 수도 있어서, 연결 라벨 하나가 필요한 자식을 가릴 수 있습니다.

연결 라벨이 아니라 자식 항목을 읽으세요

부모 상태와 자식 목록을 함께 열고, 시험 중인 흐름과 선택자가 맞는 자식을 찾으세요. 그 자식의 트래픽 선택자, 협상된 알고리즘, 수명, 양방향 카운터를 적어 두세요. 자식이 여러 개면 위치가 아니라 선택자로 맞추세요, 키를 다시 만들면 위치가 바뀝니다. 무엇이든 바꾸기 전에 식별자를 적어 두세요.

부모가 시험 중인 것과 다른 트래픽 집합을 나열하면, 잘못된 자식을 읽고 있는 것입니다. 그것은 선택자 문제이지 끊어진 터널이 아닙니다.

시각도 기록하세요. 키 재생성은 한 계층을 교체하면서 다른 계층은 그대로 둘 수 있고, 새로 보이는 자식이 지켜보던 자식의 교체본일 수 있습니다. 자식이 사라졌다고 결론 내리기 전에 식별자를 비교하세요.

자식이 아예 없을 때

데이터 제안이나 선택자가 실패해도 인증은 성공할 수 있고, 그러면 부모에 자식이 하나도 없습니다. 흔한 원인은 알고리즘 불일치나 트래픽 선택자 불일치이며, 양쪽 피어가 거부된 제안을 기록합니다. 양쪽 끝을 읽으세요, 닿을 수 있는 쪽은 거부만 보여 줄 수 있습니다. 부모를 재시작하지 말고 불일치를 고치세요, 재시작은 같은 실패한 협상을 되풀이하고 증거에 장애를 하나 더할 뿐입니다.

계속 다시 설정되는 부모는 자식 없이 버티는 부모와 다른 고장입니다. 두 번째 경우 로그가 거부된 제안을 지목하므로, 정책을 고치기 전에 그 제안을 양쪽 끝에서 모으세요.

자식은 있는데 카운터가 영에 머물 때

자식 선택자에 맞는 새 요청을 보내세요. 그 정책 밖의 목적지로 보낸 요청은 아무리 성공적으로 보여도 카운터를 움직이지 않습니다.

흐름을 터널로 밀어 넣어야 할 경로를 확인하세요, 트래픽이 없는 자식은 흔히 아무것도 라우팅되지 않는 자식입니다. 한 방향으로만 움직이는 카운터는 돌아오는 경로의 선택자나 정책 불일치를 가리킵니다. 로컬 쪽을 건드리기 전에 원격 피어의 반환 선택자를 보세요. 새 요청은 양쪽 끝의 상태 출력과 맞춰 볼 시각도 줍니다.

보고서에서 계층을 지목하세요

고장을 판정이 아니라 세 개의 항목으로 보고하세요: 실패한 계층, 살펴본 교환 또는 자식, 가지고 있는 증거입니다. 계층은 셋 중 하나입니다: 부모가 아예 설정되지 않았거나, 자식 협상이 거부됐거나, 자식은 있는데 트래픽이 닿지 않습니다. 증거는 선택자와 카운터가 붙은 자식 식별자이거나, 양쪽 로그에서 인용한 거부된 제안입니다. 그걸 읽는 사람은 어느 VPN을 말하는지 묻지 않고 중요한 교환으로 바로 갈 수 있습니다.

strongSwan IKEv2 문서는 그 계층이 상태 출력에 어떻게 나타나는지 보여 줍니다. 부모 요약만이 아니라 시험한 자식 출력을 첨부하세요.

관련 글