På Ubuntu Touch stilles to spørsmål som ett: vil denne skrivebordspakken kjøre, og får telefonen en VPN. Containeren svarer på det første. Ingenting i den svarer på det andre, for en container har sitt eget syn på filsystemet, mens nettverksstakken og politikken dens tilhører telefonen. Følg hvor hver del bor før du lover en arbeidsflyt.

To spørsmål som ser ut som ett

Å kjøre et skrivebordsprogram i en container er en pakkebragd. Å få telefonens tilkoblingsbehandler til å etablere en tunnel, holde den gjennom dvale og bestemme hva som skjer når den faller, er plattformarbeid. En installatør som fullføres inne i containeren beviser bare at avhengighetene ble løst der. Den sier ingenting om telefonen har et godkjent VPN-plugin, om tunnelen overlever en omstart, eller hvilke programmer som bruker den.

Hold de to i atskilte setninger i enhver vurdering. Å slå dem sammen er hvordan en laboratoriedemo blir en støtteforpliktelse ingen kan innfri.

Hva containergrensen faktisk gir

En Libertine-container er et skrivbart miljø lagt over en telefon der grunnsystemet er skrivebeskyttet. Derfor virker det i det hele tatt å installere en pakke der, og derfor virker ikke den samme installasjonen på grunnsystemet. Den kjører også programmer i forgrunnen, integrert med telefonens skjerm, og den er uttrykkelig ikke en måte å kjøre serverprogramvare på eller holde en prosess levende i bakgrunnen. Disse begrensningene betyr noe for en VPN-klient, som forventes å forbli oppe.

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

Oppføringen viser hvilke containere som finnes, og info-kommandoen rapporterer distribusjon og installasjonsstatus. launch-kommandoen gir deg et skall inni, og det er det rette stedet å undersøke hva pakken faktisk installerte. Det den ikke gir deg, er myndighet over telefonens nettverk. En binærfil inne i containeren som vil lage en tunnel trenger et privilegert grensesnitt, og det grensesnittet tilhører plattformen, ikke containeren.

Hvor telefonens nettverkstilstand bor

Navn, ruter og tilkoblingsprofiler administreres av telefonens nettverkstjeneste, utenfor enhver container. En tunneloppføring vises der bare når plattformen støtter den VPN-typen og operatøren har installert den tilsvarende plugin-en.

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

Tilkoblingslisten er det autoritative svaret på om det finnes en VPN-profil på denne telefonen. Hvis tunnelen din mangler på den listen, vil ingen mengde arbeid inne i containeren få den til å vises. Ruteoppslaget svarer på et snevrere spørsmål: hvilket grensesnitt denne telefonen ville bruke for én destinasjon. Det er kontrollen som gjentas etter enhver endring, for en profil kan finnes og likevel ikke være veien et gitt program tar.

Les én arbeidsflyt fra ende til annen

Velg den virkelige oppgaven, for eksempel å nå en privat database med en skrivebordsklient. Følg deretter flyten: programmet starter i containeren, løser opp vertsnavnet gjennom den oppløseren telefonen bruker, åpner en socket, og rutingen i telefonen bestemmer hvilket grensesnitt som bærer den. Hvert steg har en eier. Containeren eier programmet, plattformen eier oppløseren og rutingen, og VPN-endepunktet eier autentiseringen. En feil på et hvilket som helst steg er en feil i det steget, ikke i hele ideen.

Test det private vertsnavnet og den private adressen hver for seg. Et navn som løses til en offentlig adresse, og en adresse som rutes inn i en tunnel, er forskjellige observasjoner, og å blande dem gir en rapport som ikke kan gjenskapes.

Hva som skal noteres når svaret er nei

Noen ganger er den ærlige konklusjonen at denne telefonen, på denne utgivelsen, ikke kan bære arbeidsflyten. Skriv det ned med bevisene: hvilke tilkoblingstyper plattformen tilbyr, hvilke klienter som ble prøvd, og hvilket steg som feilet.

Oppgi deretter alternativet som ble akseptert, enten det er en annen enhet, en annen tilgangsmetode eller en snevrere oppgave som blir inne i containeren uten å berøre private nettverk.

Motstå fristelsen til å remontere grunnsystemet eller gi uforklarte rettigheter for å gjenskape en gammel oppskrift. En telefon som starter er ikke det samme som en telefon hvis nettverkspolitikk du fortsatt kan resonnere om et halvt år senere.

Relaterte artikler