Телефон из ящика имеет процессор, флеш-память, Wi-Fi и батарею — это больше аппаратного обеспечения, чем у большинства одноплатных компьютеров, которые люди с удовольствием разворачивают. У него также есть экран, стареющая батарея и операционная система, которая перестаёт получать заплатки, когда производитель идёт дальше. Ничто из этого не решает, должен ли он стать VPN-шлюзом или NAS.

Должен ли он стать VPN-шлюзом или NAS, не решает это сравнение, потому что сравнение о возможностях, а решение об эксплуатации.

Это решают три условия. Если хотя бы одно не выполняется, проект — эксперимент на выходные, а не устройство, и лучше знать, какое условие не выполнено, прежде чем переносить на него данные.

Первое условие: роль действительно поддерживается

Три схемы называют одним и тем же. VPN-клиент защищает трафик приложений на телефоне. VPN-сервер принимает входящие подключения. Шлюз переправляет трафик других устройств в туннель. Это разные проекты, и работающий клиентский туннель ничего не доказывает о двух других.

Приложение на стандартном Android подчиняется правилам фонового выполнения, а оставленный открытым терминал не является демоном. Собственное руководство по Doze и App Standby платформы объясняет, почему фоновый процесс может потерять доступ к сети, когда устройство решает простаивать, и это именно то поведение, которого в шлюзе быть не может.

Пользовательское пространство Linux внутри Android наследует больше ограничений, чем устраняет. chroot меняет корень файловой системы, но по-прежнему работает на ядре Android, его драйверах и его политике безопасности, поэтому root внутри chroot — не root над платформой. Замена операционной системы, наоборот, делает поддержку модема, памяти и питания для конкретного аппарата частью вашего проекта, а поддержка аппаратов обычно та часть, которую никто не сопровождает.

Второе условие: адрес доступен

Шлюз должен быть доступен клиентам, которые от него зависят. Телефон по Wi-Fi внутри домашнего роутера доступен из этой локальной сети и отовсюду, куда роутер переправляет, но не из интернета, если вы это не организуете.

Мобильная сеть делает это сложнее, а не проще. Многие мобильные сети помещают абонентов за NAT операторского уровня, поэтому входящего адреса для переправки вообще нет, и добавление модема не создаёт публичного слушателя. Если требование — удалённый доступ снаружи, в проекте должен быть ретранслятор или оверлейная сеть, к которой обе стороны подключаются наружу, и это вторая движущаяся часть, которую нужно сопровождать.

Сетевое подключение тоже зависит от устройства. Одни телефоны принимают USB-адаптеры Ethernet, другие нет, а Wi-Fi добавляет свою задержку и поведение при роуминге. Шлюз, который засыпает при выключенном экране или теряет туннель во время передачи, хуже, чем отсутствие шлюза.

Третье условие: кто-то отвечает за обновления и восстановление

Это условие люди пропускают, и именно оно решает, проживёт ли вещь год. Каждому компоненту нужен владелец: сборка операционной системы, ядро, если вы его заменили, серверный пакет, сертификаты и учётные данные, которые вы выдали.

Восстановление — более сложная половина. Как войти после перезагрузки без экрана, с разбитой сенсорной панелью или вздувшейся батареей? Как отозвать потерянную личность клиента? Как восстановить хранилище на заменяющем устройстве, когда оригинал — снятая с производства модель?

Питание тоже здесь. Постоянная нагрузка означает постоянный нагрев, а стареющая батарея не является автоматическим ИБП. Следуйте указаниям производителя и считайте любое вздутие или повреждение сигналом к остановке, а не чем-то, что можно обойти.

Когда ответ — нет

Примените три условия к тому, что вам действительно нужно, и будьте конкретны в отношении задачи, а не категории.

TaskPhone is reasonable when
Protecting the phone's own trafficThe client is a supported Android app; no forwarding involved
Small lab tunnel inside one LANDowntime is acceptable and you can reach the device to fix it
Household NAS holding the only copyNever; that is a backup problem, not a hardware problem
Unattended remote access for othersYou already own patching, revocation and replacement

Выделенный хост Linux тоже не избегает списка. У него более понятный менеджер служб и более понятный путь администрирования хранилища и сети, когда аппаратное обеспечение и дистрибутив поддерживаются, но ему всё ещё нужны питание, обновления и резервные копии. Одна лишь плата не является устройством.

Поэтому выбирайте телефон, когда его поддерживаемые возможности подходят для скромной задачи и экспериментальный простой действительно приемлем. Выбирайте что-то другое, когда требование — домашнее хранилище, которое нельзя потерять, или удалённый доступ, от которого будут зависеть другие люди. В обоих случаях решающий фактор — воспроизводимая установка и процедура восстановления, которую вы действительно проверили, и никакое количество бесплатного оборудования не заменяет ни то, ни другое.

Похожие статьи