Je Windows-collega importeert een FortiGate-wizardprofiel en is binnen een minuut online. Jij installeert hetzelfde leverancierspakket op Ubuntu, zoekt een IPsec-tabblad en vindt een client die alleen een SSL VPN portaal kan openen. De conclusie die daarop volgt is meestal dubbel fout: de gateway wijst je niet af, en de Linux-build is niet kapot. Fortinet levert die client alleen met SSL VPN-ondersteuning, dus een mobiel IPsec-profiel heeft geen plek om te leven en moet opnieuw worden gebouwd waar men IKEv1 spreekt.

Bepaal eerst welk protocol je echt hebt gekregen

Die herbouw is mechanisch zodra je ophoudt de leveranciersclient als de referentie-implementatie te zien.

FortiGate-apparaten publiceren zowel SSL VPN als IPsec, en de overdrachtsmail zegt zelden welke je hebt gekregen. Een portaal-URL plus een inlogpagina in browserstijl betekent SSL VPN, en op Linux is het antwoord daar openfortivpn, niet de veldtoewijzing hieronder. Een groepsidentificatie plus een vooraf gedeelde sleutel betekent mobiele IPsec, wat vpnc en strongSwan afhandelen.

Dit verkeerd doen is de meest voorkomende reden dat een Linux-poging sterft voordat de eerste fase klaar is: de client biedt IKEv1 aan een HTTPS-portaal aan of andersom. Vraag de beheerder de protocolnaam schriftelijk voordat je iets installeert.

Vier referenties reizen in vier verschillende velden

Het woord password komt in de meeste overdrachten twee keer voor en betekent twee verschillende dingen. De vooraf gedeelde sleutel authenticeert de peer zelf, en het is een machinegeheim dat de beheerder uit de gatewayconfiguratie leest. Je accountwachtwoord is een aparte referentie die bewijst welk mens achter die peer staat.

De andere twee waarden worden makkelijker gemist. De groepsidentificatie is de tekenreeks die de wizard in het IPsec-groepsobject schreef, en 0 is een geldige waarde, geen leeg veld. Het voorstel dekt versleuteling, hashing en een Diffie-Hellman-groep per fase, plus de PFS-instelling, en elk item erin moet met de gateway overeenkomen. Als een verbinding in fase 1 faalt, is bijna altijd een van die vier de schuldige, dus schrijf ze apart op in plaats van ze in één dialoog te proppen.

Wat elk vpnc-veld moet bevatten

Installeer de client samen met de editor-frontend en maak dan een VPNC-verbinding:

sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome

Zet de gateway op het openbare adres van de FortiGate en de groepsnaam precies op de identificatie van de gateway, inclusief een kale nul. Group password neemt de vooraf gedeelde sleutel, terwijl gebruikersnaam en wachtwoord je account nemen, met een eventueel token toegevoegd zoals de gateway verwacht. Kies in de geavanceerde dialoog de Diffie-Hellman-groep die het voorstel noemt, lijn PFS uit met dezelfde groep, schakel NAT-traversal in als de client achter een thuisrouter zit, en houd dode-peer-detectie in de pas met de gateway.

De groepsnaam is het veld dat wordt overgeslagen, omdat het optioneel lijkt en de standaardwaarde nul op een plaatsaanduiding lijkt. Stuur het leeg en de client verzendt een andere identificatie dan die de gateway valideert. Als het profiel nog steeds faalt, vergelijk de geavanceerde waarden dan met de werkende Windows-client in plaats van met een forumbericht voor een andere site.

Hetzelfde profiel geschreven voor strongSwan

strongSwan is de betere langetermijncontainer voor deze waarden, omdat de configuratie een tekstbestand is dat je kunt doorlezen en bewaren:

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!

Lees de voorstelregels vóór het blok, want het uitroepteken aan het eind verandert hun betekenis: het pint dat ene voorstel vast en verwijdert de alternatieven die de client anders zou bieden. Een gateway die voor één transformatiepaar is geconfigureerd, weigert een client die met een lijst opent, dus juist het vastpinnen maakt van onderhandelen een overeenkomst. Neem de exacte algoritmenamen over uit het werkende gatewayprofiel en vervang de plaatsaanduidingen door je eigen waarden.

De twee authenticatieregels zijn niet overbodig. De PSK bewijst de peer, het XAuth-blok bewijst de gebruiker, en wie een van beide weglaat, houdt een fase over die de gateway niet afmaakt.

Lees de fout voordat je nog een veld wijzigt

Werk achterwaarts vanaf het symptoom in plaats van de dialoog opnieuw te randomiseren. Een IKE SA die opkomt zonder toegewezen adres betekent dat de gebruikerauthenticatie mislukte of nooit liep, dus controleer het account en de tokenafhandeling. Een fase 1 die nooit afrondt wijst op het voorstel, de groepsidentificatie of de agressieve modus, en elk daarvan wordt met de gateway vergeleken, niet alleen met de Windows-client.

Een tunnel die tot stand komt en dan elke paar minuten sterft, is een meningsverschil over dode-peer-detectie tussen beide uiteinden; lijn de timer van de gateway uit in plaats van overal keepalives uit te zetten. Een bestaande tunnel waarin kantoorhosts onbereikbaar blijven, betekent meestal dat het geduwde subnet nooit in de lokale routetabel is beland, wat een client van derden misschien niet zelf doet.

Geef de werkende waarden terug aan de eigenaar van de gateway als je klaar bent: protocol, groepsidentificatie, vooraf gedeelde sleutel, voorstel, PFS en de DPD-beslissing. De volgende Linux-machine kost dan minuten in plaats van een avond, en niemand hoeft opnieuw te ontdekken dat de groepsnaam nul was.

Gerelateerde artikelen