IPsec FortiGate su Linux: quale client si connette davvero
Il client Linux del fornitore parla solo SSL VPN. Un profilo IPsec mobile va ricostruito in vpnc o strongSwan, e quattro campi devono corrispondere al gateway.
Il tuo collega su Windows importa un profilo della procedura guidata FortiGate ed è online in un minuto. Tu installi lo stesso pacchetto del fornitore su Ubuntu, cerchi una scheda IPsec e trovi un client che sa solo aprire un SSL VPN. La conclusione che ne segue di solito è sbagliata due volte: il gateway non ti rifiuta e la build di Linux non è rotta. Fortinet fornisce quel client solo con il supporto SSL VPN, quindi un profilo IPsec mobile non ha dove vivere e va ricostruito dove si parla IKEv1.
Prima stabilisci quale protocollo ti è stato realmente assegnato
Quella ricostruzione è meccanica appena smetti di considerare il client del fornitore l'implementazione di riferimento.
I dispositivi FortiGate pubblicano sia SSL VPN sia IPsec, e l'e-mail di consegna raramente dice quale ti è stato concesso. Un URL del portale più una pagina di accesso in stile browser significano SSL VPN, e su Linux lì la risposta è openfortivpn, non la mappatura dei campi qui sotto. Un identificatore di gruppo più una chiave precondivisa significano IPsec mobile, che è ciò che gestiscono vpnc e strongSwan.
Sbagliare questo è il motivo più comune per cui un tentativo su Linux muore prima che la prima fase si completi: il client offre IKEv1 a un portale HTTPS o viceversa. Chiedi all'amministratore il nome del protocollo per iscritto prima di installare qualcosa.
Quattro credenziali viaggiano in quattro campi diversi
La parola password compare due volte nella maggior parte delle consegne e significa due cose diverse. La chiave precondivisa autentica il peer stesso, ed è un segreto macchina che l'amministratore legge dalla configurazione del gateway. La password del tuo account è una credenziale separata che dimostra quale persona sta dietro quel peer.
Gli altri due valori sono più facili da trascurare. L'identificatore di gruppo è la stringa che la procedura guidata ha scritto nell'oggetto gruppo IPsec, e 0 è un valore legittimo e non un campo vuoto. La proposta copre cifratura, hashing e un gruppo Diffie-Hellman per ogni fase, più l'impostazione PFS, e ogni sua voce deve concordare con il gateway. Quando una connessione fallisce alla fase 1, quasi sempre il colpevole è uno di quei quattro, quindi annotali separatamente invece di buttarli in un'unica finestra.
Cosa deve contenere ogni campo di vpnc
Installa il client insieme all'interfaccia dell'editor, poi crea una connessione VPNC:
sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome
Imposta il gateway sull'indirizzo pubblico del FortiGate e il nome del gruppo esattamente sull'identificatore del gateway, incluso uno zero nudo. Group password prende la chiave precondivisa, mentre nome utente e password prendono il tuo account, con qualsiasi token aggiunto come il gateway si aspetta. Nella finestra avanzata, scegli il gruppo Diffie-Hellman che la proposta nomina, allinea PFS allo stesso gruppo, abilita il traversal NAT quando il client è dietro un router domestico e lascia il rilevamento del peer morto allo stesso passo del gateway.
Il nome del gruppo è il campo che viene saltato, perché sembra facoltativo e il valore predefinito zero somiglia a un segnaposto. Invialo vuoto e il client trasmette un identificatore diverso da quello che il gateway convalida. Se il profilo fallisce ancora, confronta i valori avanzati con il client Windows funzionante invece che con un post di forum per un altro sito.
Lo stesso profilo scritto per strongSwan
strongSwan è il contenitore migliore a lungo termine per questi valori, dato che la configurazione è un file di testo che puoi rivedere e conservare:
conn office-fw
keyexchange=ikev1
aggressive=yes
left=%any
leftauth=psk
leftauth2=xauth
xauth_identity=YOUR_USER
right=GATEWAY_ADDRESS
rightauth=psk
rightsubnet=OFFICE_SUBNET
ike=aes128-sha1-modp1536!
esp=aes128-sha1-modp1536!Leggi le righe della proposta prima del blocco, perché il punto esclamativo finale ne cambia il significato: fissa quella singola proposta e rimuove le alternative che il client offrirebbe altrimenti. Un gateway configurato per una sola coppia di trasformazioni rifiuterà un client che si apre con un elenco, quindi è il fissaggio che trasforma una negoziazione in una corrispondenza. Prendi i nomi esatti degli algoritmi dal profilo del gateway funzionante e sostituisci i segnaposto con i tuoi valori.
Le due righe di autenticazione non sono ridondanti. La PSK dimostra il peer, il blocco XAuth dimostra l'utente, e togliere l'una o l'altra lascia una fase che il gateway non completerà.
Leggi l'errore prima di cambiare un altro campo
Lavora all'indietro dal sintomo invece di ri-randomizzare la finestra. Un IKE SA che sale senza indirizzo assegnato significa che lo scambio di autenticazione utente è fallito o non è mai partito, quindi controlla l'account e la gestione del token. Una fase 1 che non si completa mai punta alla proposta, all'identificatore di gruppo o alla modalità aggressiva, e ciascuno di questi viene confrontato con il gateway, non solo con il client Windows.
Un tunnel che si stabilisce e poi muore ogni pochi minuti è un disaccordo sul rilevamento del peer morto tra i due estremi; allinea il timer del gateway invece di disattivare i keepalive ovunque. Un tunnel stabilito in cui gli host dell'ufficio restano irraggiungibili di solito significa che la sottorete inviata non è mai arrivata nella tabella di routing locale, cosa che un client di terze parti potrebbe non fare da solo.
Restituisci i valori funzionanti al proprietario del gateway quando hai finito: protocollo, identificatore di gruppo, chiave precondivisa, proposta, PFS e la decisione DPD. La macchina Linux successiva impiega allora minuti invece di una serata, e nessuno deve riscoprire che il nome del gruppo era zero.