오래된 휴대폰을 VPN 게이트웨이로: 확인해야 할 세 가지 조건
오래된 휴대폰이 기기가 되려면 역할이 지원되고, 네트워크가 닿고, 누군가 복구를 맡아야 한다. 세 가지 조건, 하나의 결정.
서랍 속 휴대폰에는 프로세서, 플래시 저장소, Wi-Fi, 배터리가 있어 사람들이 기꺼이 배포하는 대부분의 단일 보드 컴퓨터보다 하드웨어가 많다. 화면도 있고, 노후한 배터리도 있으며, 제조사가 다음으로 넘어가면 패치를 받지 못하는 운영체제도 있다. 그중 어느 것도 VPN 게이트웨이나 NAS가 되어야 하는지를 결정하지 않는다.
VPN 게이트웨이가 되어야 하는지 NAS가 되어야 하는지는 비교가 능력에 관한 것이고 결정이 운영에 관한 것이므로 그 비교로 정해지지 않는다.
세 가지 조건이 그것을 결정한다. 하나라도 실패하면 그 프로젝트는 기기가 아니라 주말 실험이며, 데이터를 옮기기 전에 어느 조건이 실패했는지 아는 편이 낫다.
조건 하나: 역할이 실제로 지원된다
세 가지 구성이 같은 이름으로 불린다. VPN 클라이언트는 휴대폰의 앱 트래픽을 보호한다. VPN 서버는 들어오는 연결을 받아들인다. 게이트웨이는 다른 기기의 트래픽을 터널로 전달한다. 서로 다른 프로젝트이며, 작동하는 클라이언트 터널은 나머지 둘에 대해 아무것도 증명하지 않는다.
재고 Android의 앱은 백그라운드 실행 규칙을 따르며, 열어 둔 터미널은 데몬이 아니다. 플랫폼 자체의 Doze 및 App Standby 안내서는 기기가 유휴 상태로 들어가기로 결정할 때 백그라운드 프로세스가 네트워크 접근을 잃을 수 있는 이유를 설명하며, 그것이 바로 게이트웨이에서 있을 수 없는 동작이다.
Android 내부의 Linux 사용자 공간은 제거하는 것보다 더 많은 제약을 물려받는다. chroot는 파일 시스템의 루트를 바꾸지만 여전히 Android의 커널, 드라이버, 보안 정책 위에서 실행되므로 chroot 안의 root는 플랫폼 위의 root가 아니다. 대신 운영체제를 교체하면 해당 기기의 모뎀, 저장소, 전원 지원이 프로젝트의 일부가 되며, 기기 지원은 대개 아무도 유지하지 않는 부분이다.
조건 둘: 주소에 도달할 수 있다
게이트웨이는 그것에 의존하는 클라이언트가 도달할 수 있어야 한다. 가정용 라우터 안의 Wi-Fi에 있는 휴대폰은 그 LAN과 라우터가 전달하는 모든 곳에서 도달할 수 있지만, 직접 마련하지 않으면 인터넷에서는 도달할 수 없다.
셀룰러는 이것을 더 쉽게가 아니라 더 어렵게 만든다. 많은 이동통신망이 가입자를 통신사 등급 NAT 뒤에 두므로 전달할 들어오는 주소가 아예 없고, 모뎀을 추가해도 공용 리스너가 생기지 않는다. 요구 사항이 외부에서의 원격 접속이라면 설계에 양쪽이 바깥으로 연결하는 릴레이나 오버레이 네트워크가 포함되어야 하며, 그것은 유지해야 할 두 번째 움직이는 부품이다.
네트워크 연결도 기기마다 다르다. 어떤 휴대폰은 USB 이더넷 어댑터를 받아들이고 어떤 것은 받지 않으며, Wi-Fi는 자체 지연과 로밍 동작을 더한다. 화면이 꺼지면 잠들거나 핸드오버 중에 터널을 떨어뜨리는 게이트웨이는 게이트웨이가 없는 것보다 나쁘다.
조건 셋: 누군가 업데이트와 복구를 맡는다
이것은 사람들이 건너뛰는 조건이며, 그 물건이 일 년을 버티는지를 결정하는 조건이므로 모든 구성 요소에는 소유자가 필요하다. 운영체제 빌드, 교체했다면 커널, 서버 패키지, 인증서, 그리고 배포한 자격 증명이다.
복구는 더 어려운 절반이다. 화면 없이, 깨진 터치 패널이나 부푼 배터리로 재부팅한 뒤 어떻게 들어가는가. 잃어버린 클라이언트 신원을 어떻게 폐기하는가. 원본이 단종된 모델일 때 저장소를 대체 기기로 어떻게 복원하는가.
전원도 여기에 속한다. 지속적인 부하는 지속적인 열을 뜻하며, 노후한 배터리는 자동 UPS가 아니다. 제조사 지침을 따르고, 어떤 부풀음이나 손상도 피해 갈 일이 아니라 중지 신호로 다루어야 한다.
답이 아니오일 때
세 가지 조건을 실제로 필요한 것에 적용하고, 범주가 아니라 작업에 대해 구체적으로 판단한다.
| Task | Phone is reasonable when |
|---|---|
| Protecting the phone's own traffic | The client is a supported Android app; no forwarding involved |
| Small lab tunnel inside one LAN | Downtime is acceptable and you can reach the device to fix it |
| Household NAS holding the only copy | Never; that is a backup problem, not a hardware problem |
| Unattended remote access for others | You already own patching, revocation and replacement |
전용 Linux 호스트도 목록에서 벗어나지 못한다. 하드웨어와 배포판이 지원되면 더 명확한 서비스 관리자와 저장소 및 네트워크 관리 경로가 있지만, 여전히 전원, 업데이트, 백업이 필요하다. 보드만으로는 기기가 아니다.
그러므로 지원되는 능력이 소박한 작업에 맞고 실험적 중단이 정말로 받아들여질 때 휴대폰을 고른다. 잃어서는 안 되는 가정용 저장소나 다른 사람들이 의존할 원격 접속이 필요하면 다른 것을 고른다. 두 경우 모두 결정 요인은 재현 가능한 설치와 실제로 시험한 복구 절차이며, 무료 하드웨어가 아무리 많아도 둘 중 어느 것도 대신하지 못한다.