인터넷 공유를 켜면 다른 기기도 VPN에 연결될까?
공유는 상류와 하류 연결을 고를 뿐 터널을 고르지 않는다. 두 번째 기기가 VPN을 물려받는지는 라우팅, 정책, 클라이언트에 달려 있다.
인터넷 공유를 켠다고 해서 책상 위의 모든 것이 VPN으로 확장되지는 않는다. 두 기능은 서로 다른 질문에 답한다. 공유는 어떤 연결이 Mac에 공급되고 어떤 인터페이스가 그 연결을 내보내는지를 정하며, VPN은 Mac 자체의 트래픽이 어디로 갈지를 정한다. 두 번째 기기가 터널을 물려받는지는 라우팅, 클라이언트의 정책, 그리고 게이트웨이가 무엇을 전달할 의사가 있는지에 달려 있으며, 이 세 가지는 공유 패널이 전혀 알지 못한다.
속설: 연결을 공유하면 터널도 공유된다
누군가 잘 된다고 말할 때, 대개 그가 본 것은 Mac 뒤의 태블릿이 페이지를 불러왔다는 사실이다. 그 관찰은, 페이지가 물리적 업링크로 곧장 나가고 Mac의 브라우저만 터널을 쓴 경우도 포함해, 여러 다른 경로와도 들어맞는다. 페이지 한 번 열린 것으로는 아무것도 구분되지 않는다. 어떤 경로가 존재한다는 것만 증명할 뿐이다.
두 번째 기기는 세션을 물려받지 않는다. Mac에서 주소를 받고, Mac으로 패킷을 보내며, Mac은 자기 라우팅 테이블과 자기 방화벽 상태에 따라 그 패킷을 어떻게 다룰지 결정한다. 그 결정은 기기 단위가 아니라 연결 단위로 내려진다. 같은 Mac 뒤의 두 기기라도 규칙이 다르면 다른 경로를 탈 수 있다.
공유 패널이 실제로 고르는 것
시스템 설정에서 인터넷 공유 제어는 원본 연결과 다른 기기가 사용할 인터페이스를 묻는다. 원본은 Mac의 업링크이며, Apple 자체 안내서도 부주의한 공유는 연결된 네트워크를 방해할 수 있다고 경고한다.
그 대화상자 어디에도 전달되는 트래픽의 게이트웨이로 VPN을 지목하는 항목은 없다. Ethernet을 원본으로 고른다고 해서 터널이 무시되는 것도, 터널이 쓰이는 것도 아니며, Mac의 물리 인터페이스가 업링크로 선언되었고 판단은 여전히 라우팅 테이블이 내린다는 뜻일 뿐이다.
고를 수 있는 항목은 하드웨어에도 달려 있다. Ethernet 포트가 없는 Mac이나 도크가 연결되지 않은 Mac에서는 어떤 입문서가 전제하는 선택지가 나타나지 않는다. 그 둘레에 무엇을 설계하기 전에 실제로 가지고 있는 패널을 확인하라.
전달된 패킷은 어떻게 자기 길을 찾는가
하류 기기는 NAT 뒤에 숨고, Mac은 상류로 무엇을 보내기 전에 그 주소를 다시 쓴다. 그 순간 터널이 기본 경로를 쥐고 있다면 다시 쓰인 패킷이 터널을 지날 수도 있고, 그래서 짧은 시험에서는 이 구성이 동작하는 것처럼 보인다.
겉모습은 정책이 아니다. 데스크톱 VPN 클라이언트는 Mac 자체의 트래픽을 중심으로 만들어졌고, 그 킬 스위치는 보통 기기 뒤의 LAN이 아니라 로컬 애플리케이션에 규칙을 적용한다. 터널이 끊겨도 Mac은 차단 규칙 하나 없이 손님들을 위해 계속 전달할 수 있다.
버전 문제도 있다. 이전 macOS에서 공유 지원을 문서화한 제공자가 그 뒤 동작을 바꿨을 수 있고, 원본 목록에 기본 VPN 항목이 보인다는 입문서가 지금의 클라이언트가 결코 만들지 않는 인터페이스를 설명하고 있을 수도 있다.
그러니 설계를 믿는 대신 경로를 시험하라. 두 번째 기기에서 요청을 보내 양 끝에서 지켜보라, 클라이언트 업데이트를 넘겨 살아남는 증거는 그것뿐이다. 다음 업데이트 뒤에 반복할 수 있는 시험은 그저 믿고 있는 설정보다 값지다.
커버리지 경계를 의식해서 고르라
두 번째 기기에서 승인된 클라이언트를 실행할 수 있다면 그쪽이 더 강한 구성이다. 자기 프로필, 자기 신원, 자기 정책을 갖고, Mac은 아래의 네트워크만 제공한다.
클라이언트를 실행할 수 없다면 VPN 제공자가 문서화한 공유 기능이나 기기를 대신해 전달하는 승인된 게이트웨이가 필요하다. 둘 다 책임자와 정해진 끝이 있고, 그것은 체크박스가 줄 수 있는 것보다 많다.
고용주는, 한 기기의 세션이 다른 네 대를 대표하는 것은 네 대를 등록하는 것과 다른 신뢰 판단이기 때문에, 대개 어차피 기기별 모델을 요구한다.
약속하기 전에 무엇을 확인할까
확인할 것은 두 번째 기기의 실제 목적지이지 Mac의 목적지가 아니다. 사내 서비스와 공용 출구는 다른 시험이고, 하나를 통과해도 다른 하나에 대해 말해 주는 것이 없다.
주소 체계 양쪽과 이름 해석을 확인하라. IPv4만 터널로 보내고 IPv6는 물리 링크에 남기는 구성은 브라우저에서는 보호되는 듯 보이고 나머지 모든 곳에서 새는 기기를 만든다.
그다음 끊긴 상태를 확인하라. 터널을 끄고 두 번째 기기에서 같은 시험을 반복했을 때 그래도 인터넷에 닿는다면 그 구성은 연결을 공유했을 뿐 VPN은 공유한 적이 없으며, 누군가 그것을 다른 것으로 적어 두지 않았다면 나쁘지 않은 결과다.