AirDrop은 잘 되다가 VPN을 켜면 상대 Mac이나 iPhone이 공유 시트에서 사라진다. VPN 로그에는 검색에 대한 언급이 없다. 원인은 대개 암호가 아니라 로컬 도달성에 있기 때문이다. Apple 지원 페이지도 로컬 네트워크를 제한하는 VPN 구성이 Continuity와 AirDrop을 방해할 수 있다고 인정한다. 이것은 유용한 단서이지 진단은 아니다. 값싼 점검부터 시작하고, 다음으로 라우팅 표를 읽고, 로컬 접근 스위치는 기본값처럼 뒤집을 것이 아니라 프라이버시에 대한 결정으로 다루어야 한다.

터널이 관여하기 전에 무엇이 깨지는가

두 기기 모두 Wi-Fi나 블루투스가 켜져 있어야 하고, AirDrop은 수신 창 안에서 연락처나 모든 사람에게서 받도록 설정되어야 하며, 두 계정은 서로 검색 가능해야 한다. 수신자를 십 분 동안 모든 사람으로 두는 것은 정당한 실험이다. 상대 기기가 그때 나타나면 설정이 문제였고 터널은 결백하다. 공유 시트가 보여주는 것으로 판단하지 말고 아는 상대와 시험하라.

페이지를 불러오는 브라우저는 인터넷 경로가 작동함을 보여줄 뿐 로컬 검색이 작동함을 보여주지 않는다. 두 기기와 서 있는 자리를 그대로 두고 VPN을 켰다 껐다 하면서 터널이 올라간 동안에만 상대가 사라지는지 보라. 터널과 함께 검색이 죽고 터널을 끄면 돌아온다면 변수는 터널이고 이 목록의 나머지가 적용된다. 두 상태 모두에서 실패한다면 네트워크 정책을 바꾸기 전에 전제 조건을 다시 한 번 점검해야 한다.

기본 경로가 움직이면 공유 시트가 비워진다

전체 터널 클라이언트는 보통 터널을 지나는 기본 경로와 대부분의 목적지를 잡는 두 개의 반쪽 경로를 설치한다. 로컬 서브넷은 더 구체적인 경로가 있을 때만 그 배치에서 살아남는다. 없으면 터널 속으로 사라진다. AirDrop 자체는 AWDL 피어 인터페이스를 지나므로 로컬 인터페이스를 걸러내거나 공격적으로 라우팅하는 클라이언트는 인터넷 경로가 완벽해도 간섭할 수 있다. 네 개의 명령으로 인터페이스, 경로, 활성 연결, 패킷 필터를 덮는다.

ifconfig awdl0 | grep -E "status|inet"
netstat -rn | grep -E '^default|^0/1|^128.0/1|awdl'
scutil --nc list
sudo pfctl -s rules | head -40

먼저 기본 줄을 읽어라. utun 인터페이스를 가리키고 더 구체적인 경로가 서브넷을 덮지 않으면 로컬 트래픽은 터널로 들어가고 인지도 함께 사라진다. 0/1과 128.0/1 쌍은 흔한 전체 터널 형태다. 그 경로들이 진짜 기본을 대체하지 않고 이기기 때문이다. 활성 상태와 주소를 보여주는 awdl0 줄은 피어 인터페이스가 내려가 있지 않다는 것을 배제한다. 셋 다 정상으로 보인다면 제한은 라우팅 표가 아니라 클라이언트 정책이나 호스트 필터에서 온다.

한 가지 형태는 언급할 만하다. 게스트 네트워크에서 사람을 잡는 것이고 반쪽 경로가 아니다. DHCP는 방금 받은 주소를 링크상 경로로 설치하고, 그 항목은 두 반쪽 어느 것보다 구체적이므로 게스트 서브넷도 집 서브넷처럼 터널을 통과한다. 그것을 없애는 것은 라우팅이 아니라 정책이다. 로컬 네트워크를 막고 거부 규칙을 넣는 설정, 서브넷을 버리는 호스트 필터, 또는 클라이언트에 대한 macOS 로컬 네트워크 허용이다. 정상으로 보이는 표와 죽은 공유 시트가 함께 있는 것은 경로 형태가 아니라 다음 절의 서명이다.

관리되는 Mac은 로컬 접근 스위치를 제공하지 않을 수 있다

많은 클라이언트가 터널이 올라간 동안 로컬 네트워크 접근을 허용하는 설정을 보여주지만, 그 설정은 클라이언트와 관리 프로파일이 함께 강제하므로 관리되는 Mac에서는 잠기거나 숨겨지거나 덮어써질 수 있다. 호스트 방화벽 규칙이나 보안 에이전트는 VPN 클라이언트가 무엇을 제공하든 피어 트래픽을 막을 수 있다. 아무것도 하지 않는다고 결론 내리기 전에 스위치를 찾아라. 그 스위치는 macOS 네트워크 설정이 아니라 클라이언트 자체 설정에 살고, 패널에 그것을 표시하지 않는 클라이언트가 보통 관리 프로파일에 의해 통제되는 이유가 여기에 있다.

관리를 없애거나 한 명의 상대가 보이도록 모든 필터를 끄는 것은 통제된 구성을 알 수 없는 것과 맞바꾸는 일이다. 로컬 접근 옵션은 자신이 따르는 정책에 맞을 때만 켜고, 로컬 검색을 바란 적이 없는 게스트 네트워크에서는 꺼 둔다.

아이콘이 아니라 파일로 증명하라

라우팅이나 정책을 바꾼 뒤에는 실제 파일을 의도한 상대에게 보내고 전송이 끝나는지 확인하라. 시트에 이름이 나타나는 것은 검색이고, 검색이 돌아오는 것은 전송 완료와 같지 않다.

기기가 여전히 나타나지 않으면 같은 네트워크의 두 번째 기기 쌍과 비교해 호스트 문제와 네트워크 전체 문제를 갈라라. 그 비교는 VPN 옵션을 하나씩 뒤집는 것보다 빠르고 티켓에 사실을 남긴다. 장애가 재현되는 동안 기본 인터페이스, 경로 형태, 로컬 접근 스위치 상태를 적어 두어라. 그러지 않으면 다음 사람이 네 가지 점검을 처음부터 다시 한다.

관련 글