В Ubuntu Touch два въпроса се задават като един: ще тръгне ли този пакет за работен плот и ще получи ли телефонът VPN. Контейнерът отговаря на първия. Нищо в него не отговаря на втория, защото контейнерът има собствен изглед към файловата система, докато мрежовият стек и политиката му принадлежат на телефона. Проследете къде живее всяка част, преди да обещаете работен процес.

Два въпроса, които изглеждат като един

Стартирането на приложение за работен плот в контейнер е постижение в опаковането. Да накараш мениджъра на връзките на телефона да установи тунел, да го задържи през заспиване и да реши какво става при прекъсване е работа на платформата. Инсталатор, който завършва в контейнера, доказва само че зависимостите са решени там. Той не казва нищо за това дали телефонът има одобрен плъгин за VPN, дали тунелът оцелява след рестарт или кои приложения го използват.

Дръжте двете в отделни изречения във всяка оценка. Сливането им е начинът, по който една лабораторна демонстрация се превръща в ангажимент за поддръжка, който никой не може да изпълни.

Какво всъщност осигурява границата на контейнера

Контейнерът Libertine е среда за запис, насложена върху телефон, чиято базова система е само за четене. Затова инсталирането на пакет там изобщо работи и затова същото инсталиране в базовата система не работи. Той също стартира приложения на преден план, интегрирани с екрана на телефона, и изрично не е начин да се пуска сървърен софтуер или да се поддържа процес жив във фонов режим. Тези ограничения са важни за VPN клиент, от който се очаква да остане включен.

libertine-container-manager list
libertine-container-manager info -i <container-id>
libertine-launch -i <container-id> bash

Списъкът показва кои контейнери съществуват, а командата info съобщава дистрибуцията и състоянието на инсталацията. Командата launch ви дава шел отвътре и това е правилното място да проверите какво всъщност е инсталирал пакетът. Това, което не ви дава, е власт над мрежата на телефона. Двоичен файл в контейнера, който иска да създаде тунел, се нуждае от привилегирован интерфейс, а този интерфейс принадлежи на платформата, не на контейнера.

Къде живее мрежовото състояние на телефона

Имената, маршрутите и профилите на връзка се управляват от мрежовата услуга на телефона, извън всеки контейнер. Запис за тунел се появява там само когато платформата поддържа този тип VPN и операторът е инсталирал съответния плъгин.

nmcli connection show
ip route get 10.42.0.10
ip -br addr show

Списъкът на връзките е авторитетният отговор на въпроса има ли VPN профил на този телефон. Ако вашият тунел отсъства от този списък, никаква работа в контейнера няма да го накара да се появи. Търсенето на маршрут отговаря на по-тесен въпрос: кой интерфейс би използвал този телефон за една дестинация. Това е проверката, която се повтаря след всяка промяна, защото профил може да съществува и въпреки това да не е пътят, по който тръгва дадено приложение.

Прочетете един работен процес от начало до край

Изберете реалната задача, например достъп до частна база данни с клиент за работен плот. След това проследете потока: приложението стартира в контейнера, решава името на хоста чрез резолвера, който телефонът използва, отваря сокет и маршрутизацията на телефона решава кой интерфейс ще го носи. Всяка стъпка има собственик. Контейнерът притежава приложението, платформата притежава резолвера и маршрутизацията, а крайната точка на VPN притежава удостоверяването. Отказ на която и да е стъпка е отказ на тази стъпка, не на цялата идея.

Тествайте частното име на хост и частния адрес поотделно. Име, което се решава до публичен адрес, и адрес, който се маршрутизира в тунел, са различни наблюдения и объркването им създава доклад, който не може да бъде възпроизведен.

Какво да запишете, когато отговорът е не

Понякога честният извод е, че този телефон, с тази версия, не може да носи работния процес. Запишете го с доказателствата: какви типове връзка предлага платформата, кои клиенти са опитани и коя стъпка се е провалила.

След това посочете приетата алтернатива — друго устройство, друг метод за достъп или по-тясна задача, която остава в контейнера, без да докосва частни мрежи.

Устоявайте на изкушението да премонтирате базовата система или да дадете необяснени привилегии, за да възпроизведете стара рецепта. Телефон, който зарежда, не е същият като телефон, за чиято мрежова политика още можете да разсъждавате шест месеца по-късно.

Подобни статии