Fire protokollfamilier dekker nesten hver enhet som fortsatt står i et rack, og hver av dem feiler ulikt på Linux. De publiserte portene og de konfigurerte forslagene til den andre enden bestemmer pakken din, ikke distribusjonen du tilfeldigvis kjører. Å installere det et foruminnlegg nevner og deretter redigere til noe kobler seg til, er måten en ettermiddag forsvinner på. Les enheten, installer som nummer to, verifiser som nummer tre.

Skriv ned hva den andre enden publiserer

Skriv ned protokollen, portene og autentiseringen enheten forventer før du åpner en pakkebehandler. Fire familier dekker mesteparten av gammelt utstyr, og tabellen nedenfor er hele avgjørelsen på én skjerm.

FamilyPortsLinux side
PPTPTCP 1723 plus GRE, IP protocol 47pppd with a peer file
L2TP/IPsecUDP 500, 4500, 1701NetworkManager plugin over strongSwan
IKEv1 aggressive with XAuthUDP 500native strongSwan connection
AnyConnect-style portalTCP 443openconnect with a TUN device

Håndboken og enhetens egne brannmurregler er mer pålitelige enn protokollnavnet på påloggingssiden. En enhet som annonserer IPsec, snakker kanskje bare IKEv1, og en fastvareversjon ingen har brukt kan være det som til slutt legger til IKEv2. Bekreft både datastien og oppsettporten, for det er her gammelt utstyr og moderne nettverk er uenige. Å ta dette trinnet feil betyr å feilsøke klienten mot en funksjon den andre enden aldri hadde.

PPTP: bevis GRE før du redigerer pppd

PPTP på Linux er ikke en tjeneste du starter, men et pppd-kall, og tilkoblingsparametrene bor i en navngitt peer-fil som pppd leser når den kalles. Distribusjoner pakker det fortsatt, selv om protokollens kjente svakheter gjør det uegnet for noe følsomt, så hold det strengt for en enhet som ikke tilbyr noe annet. Følg med på GRE mens klienten forhandler, med en kort opptak i stedet for en gjetning. Feilen som koster mest tid er ikke autentiseringen, men den manglende datastien.

pppd call branch-office
tcpdump -ni any proto gre -c 5

Hvis oppsettet fullføres og forbindelsen aldri bærer trafikk, mistenker du GRE-stien før du rører ved påloggingsinformasjon. Skylagringens sikkerhetsgrupper trenger en eksplisitt regel for protokoll 47, og noen nett blokkerer den helt uten en synlig feil. Test fra nettverket du faktisk skal bruke, ikke fra et laboratorium som tillater alt.

L2TP/IPsec: ett passende forslag slår ti forsøk

Les tjenestens logg i stedet for skrivebordsdialogen, fordi dialogen slår sammen flere ulike feil til én melding. En NO_PROPOSAL_CHOSEN-feil hører til første fase: klienten tilbød en kryptering, en hash eller en Diffie-Hellman-gruppe som serveren ikke godtar. List opp hva enheten støtter og skriv ett forslag som passer, fordi tilfeldige kombinasjoner oftest gir den samme feilen langsommere. På et skrivebord er den praktiske klienten NetworkManager L2TP-plugin med strongSwan eller Libreswan under.

En forslagsstreng som betyr én ting for en skrivebords-plugin kan bety noe annet for tjenesten den overlater arbeidet til, så hold syntaksen passende for laget du redigerer. Hvis enheten også krever en tunnelhemmelighet, er det et eget trinn fra IPsec-nøkkelen. Bekreft hvilken av de to grensesnittet spør om før du skriver noe i det.

Aggressiv IKEv1 med XAuth, og portal-tilfellet

Et endepunkt i FortiGate-stil vil vanligvis ha aggressiv modus med XAuth og en adresse i konfigurert modus, noe en grafisk plugin kanskje ikke viser i det hele tatt. Den innebygde tjenesten håndterer det, og blokken nedenfor er formen på den konfigurasjonen, ikke en fullstendig fil. Sjekk leverandørens gjeldende dokumentasjon for forslagsverdiene.

conn branch
    keyexchange=ikev1
    aggressive=yes
    leftauth=psk
    leftauth2=xauth
    leftsourceip=%config
    right=203.0.113.10

Eldre strongSwan-utgivelser brukte xauth=client der versjon 5 bruker leftauth2=xauth, så et kopiert utdrag kan feile bare på syntaksen. For en TLS-portal håndterer openconnect, som snakker AnyConnect-protokollen, Cisco og de fleste omdøpte merker, og det trenger en TUN-enhet pluss rettighetene til å konfigurere den. Send portaladressen nøyaktig slik nettleseren viser den, inkludert enhver sti enheten forventer, og kontroller deretter den tildelte adressen før du tester noe bak den. Å opprette grensesnittet på forhånd fjerner én klasse overraskelser under oppsettet.

sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com

Koble til, og verifiser deretter i fast rekkefølge

Kjør nøyaktig én VPN-behandler om gangen, fordi en NetworkManager-profil og en håndstartet tjeneste vil kjempe om ruter og DNS. Ta ned profilen før du tester en manuell forbindelse, og bekreft at ingen gammel tunnelgrensesnitt overlever. Verifiser deretter i denne rekkefølgen: tunneladresse, rute til den eneste interne verten du trenger, navneoppslag og til slutt en faktisk forespørsel. Et grønt ikon beviser autentisering og ingenting annet.

ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal

Hvis et trinn feiler, stopp der i stedet for å teste det neste, fordi en DNS-feil nedenfor en brutt rute ikke lærer deg noe. Lagre en kopi av den fungerende profilen før du eksperimenterer, fordi en slettet tilkoblingsfil lett går tapt og er tungvint å gjenoppbygge. Oppbevar forslagsverdiene i samme notat som enhetsmodellen og fastvareversjonen, fordi det notatet er forskjellen mellom en migrering og et arkeologiprosjekt når boksen byttes ut.

Relaterte artikler