Despois do script de configuración, alguén debe ser dono do servidor VPN
O script pode construír o servidor, pero non pode asumir a política de acceso, a vía de actualización nin a reversión. Defina a entrega antes de executalo.
Dous traballos distintos véndense como un: converter unha máquina nun servidor VPN e engadir un cliente VPN a un portátil que debe unirse á pasarela doutra persoa. O script de configuración responde ao primeiro e non pode responder ao segundo, diga o que diga o seu README. Tome o proxecto setup-ipsec-vpn como exemplo concreto: constrúe un servidor IPsec/L2TP, Cisco IPsec ou IKEv2 nun host Linux compatible con Libreswan e xl2tpd. Iso é un contrato de despregamento para un servidor, non unha receita xeral para calquera máquina. Decida que traballo ten antes de que se execute o script, porque todo o posterior trata do servidor.
Sexa honesto sobre o host
Unha máquina que tamén remata outra cousa, ou cuxa devasa se xestiona desde un plano de control na nube en lugar do sistema operativo, é unha instalación distinta dunha máquina virtual limpa. Anote o protocolo que activa e a versión que usa, e despois comprobe ambos contra a lista de compatibilidade do proxecto, non contra unha entrada de blog do ano pasado.
Activar o servizo non abre o camiño cara a el. Para IPsec, a rede diante do host debe admitir UDP 500 e 4500 e, segundo o despregamento, o propio protocolo ESP. Un script que remata con éxito detrás dun grupo de seguridade que descarta o protocolo 50 produciu un servidor ao que ninguén pode chegar, e nada na saída do instalador o dirá.
O que o instalador asume de verdade
Espere un ficheiro de configuración e segredos de IPsec, unha configuración do demonio L2TP, opcións PPP e unidades systemd que agora posúen eses portos. O README do proxecto indica que os ficheiros de configuración existentes se copian antes dos cambios, o cal é útil e non é o mesmo que unha copia de seguridade do host. Decida que compoñentes se actualizarán cos paquetes da distribución e cales volvendo executar ou reescribindo o script, porque son dúas vías de mantemento con modos de fallo distintos.
Fixe a revisión que aprobou. Un URL de descarga que serve a rama predeterminada actual pode devolver contido distinto o mes que vén, así que anote o commit ou a versión que executou e garde unha copia. Ese só hábito converte un estado non atribuíble en algo sobre o que unha segunda persoa pode razoar ás dúas da mañá.
O que o script non lle pode dar
A automatización produce unha instalación funcional e detense aí. Non decide que recursos privados debe alcanzar o túnel, que é unha cuestión de política de acceso sobre a que a devasa do host e a rede superior teñen opinión. Non decide quen recibe credenciais, como se entregan nin como se retira o acceso dunha persoa cando marcha. E non decide como se recupera a máquina tras unha actualización defectuosa, que é a parte que adoita descubrirse no peor momento posible.
Os perfís de cliente e os segredos mostrados son material de acceso, non rexistros de instalación. Un perfil xerado pegado nunha canle compartida é unha conta, e o mesmo estándar se aplica ás capturas de pantalla do resumo de configuración. Manteña un inventario protexido do estado de identidade necesario para restaurar o servizo e anote cales desas credenciais se revogaron desde entón.
O primeiro cliente é a proba de aceptación
Acepte o despregamento desde un cliente autorizado, co protocolo que realmente activou. Comprobe que o nome privado se resolve, que a ruta de volta funciona, que unha reconexión se comporta ben e que se rexeita un destino fóra do conxunto permitido. Un inicio de sesión correcto desde outra aplicación cliente non é proba da que entregou.
Se a combinación que desexa xa non é compatible, escolla unha vía mantida antes da instalación. Revivir unha versión antiga, debilitar a autenticación ou volver executar un script sen explicación son aprazamentos, non plans de mantemento, e cada un dificulta a entrega.
Escriba a páxina de entrega
Manteña curta: o servidor, a revisión que o construíu, os portos que necesita, os compoñentes e os seus responsables de actualización, os recursos permitidos, a ruta das credenciais e o procedemento de recuperación. Engada a ruta de consola ou fóra de banda que usará cando un cambio no túnel sexa o que rompeu o acceso. Entón a seguinte persoa herda un servizo en lugar dun comando que teme executar dúas veces.
Revise esa páxina cando cambie o host, e non só cando algo se rompa. Un documento de entrega que nunca se le é un documento que deixou de ser certo en silencio.