Necessiteu el client VPN per arribar a la xarxa que normalment li subministraria els paquets, cosa que és un cercle petit i polit. Descarregar un únic DEB d’OpenVPN en una altra màquina sol acabar amb una segona dependència que falta, després una tercera, i després un vespre perseguint versions de biblioteques. L’alternativa és deixar que la màquina desconnectada declari, en els seus propis termes, què necessita el seu gestor de paquets. Tot el que hi ha a continuació es desprèn d’aquest capgirament de qui pregunta.

En sistemes de la família Debian aquesta conversa passa per apt-offline, un flux de sol·licitud i retorn. El seu propi entorn d’execució ha de ser present primer a l’objectiu, instal·lat des de mitjans aprovats o un altre procés d’arrencada gestionat per l’administrador, perquè cap eina no es pot arrencar a si mateixa del no-res.

Comenceu per l’estat dels paquets de l’objectiu, no pel de l’ajudant

Anoteu la versió de la distribució de l’objectiu, l’arquitectura d’espai d’usuari i les fonts de paquets configurades abans que res més. Aquests tres fets decideixen quina implementació de VPN i quina integració d’escriptori són adequades, i són els fets que un ajudant connectat no pot subministrar.

L’ajudant baixa fitxers; no es converteix en la línia base de dependències. Un portàtil més nou que ja té OpenVPN instal·lat té un estat de paquets completament diferent del de l’objectiu, així que el seu èxit no demostra res sobre què pot acceptar l’objectiu.

Decidiu també què voleu de debò. El motor VPN, un connector de servei de NetworkManager i un editor gràfic són paquets separats, i la selecció correcta depèn de la versió i de com l’usuari gestionarà la connexió. Un servidor sense pantalla necessita el motor i un fitxer de configuració; un escriptori necessita el connector que permet que la seva configuració de xarxa posseeixi el túnel. Sol·licitar el conjunt equivocat produeix una instal·lació que té èxit i una connexió que ningú no pot engegar.

Dos viatges, en aquest ordre

El manual separa tres operacions: generar una sol·licitud al sistema desconnectat, baixar-la en un ajudant connectat i importar-la de tornada a l’objectiu. Actualitzeu les metadades del repositori de l’objectiu abans de sol·licitar paquets, perquè la sol·licitud de paquets es construeix a partir d’aquestes metadades i els índexs obsolets produeixen sol·licituds que l’ajudant no pot satisfer.

A l’objectiu, una ordre d’administrador amb la forma apt-offline set vpn-meta.sig --update escriu la sol·licitud d’actualització. Porteu aquest fitxer a la màquina connectada i baixeu un paquet amb apt-offline get vpn-meta.sig --bundle vpn-meta.zip. Retorneu el paquet i importeu-lo a l’objectiu amb apt-offline install vpn-meta.zip, de nou com a administrador.

Ara genereu la sol·licitud de paquets a partir de les metadades actualitzades, per exemple apt-offline set vpn-deps.sig --install-packages openvpn, i repetiu el viatge amb un nom de paquet nou. Manteniu cada sol·licitud aparellada amb el paquet que ha produït; un paquet generat contra metadades més antigues no és la mateixa sol·licitud, fins i tot quan els noms de fitxer semblen intercanviables.

Afegiu els paquets d’integració només quan el disseny els necessiti

Si l’escriptori ha de gestionar el túnel a través de la seva configuració de xarxa, la sol·licitud necessita el connector corresponent a més del motor. Incloeu els noms de paquet concrets que ofereix la vostra versió en lloc d’una llista recordada d’una altra distribució, i genereu una sol·licitud nova sempre que la llista canviï. Fixar versions també mereix una reflexió: un paquet creat per a una versió més nova pot satisfer el nom i, tot i així, fallar en temps d’execució. Aquí és on un conjunt fix de quatre paquets es converteix en una càrrega, perquè la llista correcta és una propietat de l’objectiu i només l’objectiu la pot calcular.

Aquí és també on un conjunt fix de quatre paquets es converteix en una càrrega. La llista correcta és una propietat de l’objectiu, i l’objectiu és l’única màquina que la pot calcular correctament.

Importar un paquet no és instal·lar la VPN

Malgrat el nom, l’operació d’instal·lació diposita dades APT a l’entorn de gestió de paquets. No realitza la transacció de paquets. Completeu i reviseu la instal·lació APT real de l’objectiu a partir de les dades subministrades localment, i llegiu la sortida en lloc de suposar que l’èxit del ZIP vol dir que el programari hi és.

Si aquella transacció encara demana fitxers no disponibles, conserveu la dependència que falta o l’error de repositori concret i genereu la sol·licitud següent a partir d’ell. No substituïu un DEB d’una versió diferent ni desactiveu les comprovacions de suma de verificació o d’autenticació del repositori per forçar-lo. El manual adverteix explícitament contra saltar-se la verificació dels fitxers baixats, i amb raó: un paquet no verificat és un resultat pitjor que una instal·lació fallida.

Els paquets són només la primera meitat

Instal·lar programari és diferent d’obtenir el punt final aprovat, el perfil, el material de confiança i les credencials, i cadascun d’aquests pot tenir la seva pròpia transferència controlada. Un conjunt de paquets que funciona sense un perfil vàlid no es connecta a res.

Després manteniu viu el camí de transferència fora de línia per a futures actualitzacions. Tractar la primera connexió correcta com el final del manteniment significa que la següent actualització de seguretat espera que algú amb cotxe pugui visitar, i així és com una xarxa fora de línia es queda silenciosament anys enrere.

Articles relacionats