VPN이 실패하면 누군가 콘솔을 확인하라고 하고, 우리는 초당 수천 줄을 흘려보내는 창을 엽니다. 그 대부분은 터널과 아무 관계가 없습니다. 쓸모 있는 기술은 무엇이든 읽기 전에 보기를 한 번의 시도와 하나의 프로세스로 좁히는 것입니다.

대부분의 Mac VPN 조사에는 세 단계로 충분합니다.

알아볼 수 있는 시도를 하나 만드십시오

현지 시각과 시간대를 적어 두고 한 번 연결하십시오. 클라이언트가 표시한 오류의 정확한 문구는 대개 어떤 로그 줄보다 구체적이므로 적어 두십시오. 이제 몇 초짜리 구간과 검색어가 생겼습니다. 그 구간 이전의 모든 것은 필요 없는 기록입니다.

타임스탬프를 남길 수 없는 시도는 필터링할 수 없는 시도입니다.

텍스트로 필터링하기 전에 프로세스로 필터링하십시오

콘솔의 검색 필드는 프로세스와 메시지 프레디킷을 받아들이고, 명령줄에 해당하는 방식이 더 재현 가능합니다. log show --last 5m --predicate 'process == "NEIKEv2Provider"'은 공급자 하나로 좁혀 줍니다. 정확한 프로세스 이름은 연결 유형에 따라 다르므로 처음 필터링하지 않은 시도에서 찾아 두십시오.

텍스트로 먼저 필터링하면 VPN이라는 단어를 우연히 기록한 모든 하위 시스템이 나옵니다.

프레디킷은 하위 시스템과 범주로도 필터링할 수 있으며, 이는 프로세스 이름보다 엄격한 경우가 많습니다. 통합 로깅에서는 라이브러리가 하위 시스템을 선언할 수 있고, Apple의 네트워킹 구성 요소는 그중 여러 개를 사용합니다. 프로세스부터 시작하고, 기본 수준이 기대하는 이벤트를 감추면 --info을 추가하십시오. 디버그 수준 메시지에는 보통 구성 프로파일이 필요하며, 로그 하나를 읽으려고 설치할 가치는 없습니다.

마지막 줄이 아니라 순서를 읽으십시오

마지막 연결 해제 메시지는 파일에서 가장 정보가 적은 줄입니다. 더 앞에서 첫 번째 어댑터 오류, 검증 실패 또는 구성 거부를 찾으십시오. 그것들은 실패한 단계를 지목하지만, 연결 해제는 단계가 복구되지 않았다고만 말합니다. 순서가 곧 진단이므로 복사할 때 이벤트 순서를 유지하십시오.

로컬 서비스가 시작되는 것은 성공한 원격 핸드셰이크가 아니며, 로그는 그 반대로 가장하지 않습니다.

가림이 숨기는 것과 그 이유

통합 로깅은 기본적으로 일부 값을 비공개 표시 뒤에 숨기므로 유용한 필드가 비어 보일 수 있습니다. 이것은 무엇을 수집할 수 있는지에 대한 설계 선택이며 결함이 아닙니다. 더 많은 텍스트를 얻으려고 광범위한 개인정보 보호 설정을 바꾸지 마십시오.

필요한 값이 가려져 있다면 애플리케이션 자체의 로그나 구성에서 찾으십시오.

검토한 발췌를 내보내십시오

검토한 구간만 내보내십시오. 경로, 사용자 이름, 내부 호스트 이름 및 엔드포인트 주소는 평범한 로그 줄에 나타나며, 전체 시스템 내보내기는 그것들을 모두 받는 사람에게 전달합니다.

발췌와 함께 손대지 않은 기록도 보관하십시오. 나중에 누군가 시간선에 이의를 제기하면 원본만이 그것을 해결합니다. 발췌는 티켓을 위한 것이고, 원본은 논쟁을 위한 것입니다.

티켓에 단계를 분명히 적으십시오: 어댑터, 검증 또는 라우팅. 그러면 증거를 아무도 읽을 수 없는 묶음으로 만드는 대신 해석 가능하게 유지합니다. Apple의 콘솔 사용 설명서는 여기서 언급한 수집 및 검색 제어를 다룹니다.

관련 글