Četiri obitelji protokola pokrivaju gotovo svaki uređaj koji još stoji u racku, i svaka na Linuxu zataji drukčije. Objavljeni portovi i konfigurirani prijedlozi druge strane određuju vaš paket, a ne distribucija koju slučajno pokrećete. Instalirati što objava na forumu spominje pa uređivati dok se nešto ne poveže jest način na koji popodne nestane. Pročitajte uređaj, instalirajte drugo, provjerite treće.

Zapišite što druga strana objavljuje

Zapišite protokol, portove i autentifikaciju koje uređaj očekuje prije nego otvorite upravitelja paketima. Četiri obitelji pokrivaju većinu stare opreme, a tablica u nastavku cijela je odluka na jednom zaslonu.

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

Priručnik i vlastita pravila vatrozida uređaja pouzdaniji su od naziva protokola na njegovoj stranici za prijavu. Uređaj koji oglašava IPsec možda govori samo IKEv1, a izdanje firmwarea koje nitko nije primijenio možda je ono što na kraju doda IKEv2. Potvrdite i put podataka i port za postavljanje, jer se upravo tu stara oprema i moderne mreže razilaze. Pogriješiti u ovom koraku znači tražiti greške u klijentu prema značajki koju druga strana nikada nije imala.

PPTP: dokažite GRE prije nego uredite pppd

PPTP na Linuxu nije demon koji pokrećete nego poziv pppd-a, a parametri veze žive u imenovanoj peer datoteci koju pppd čita kad ga se pozove. Distribucije ga još pakiraju, iako poznate slabosti protokola čine ga neprikladnim za sve osjetljivo, pa ga držite strogo za uređaj koji ne nudi ništa drugo. Pazite na GRE dok klijent pregovara, kratkim snimanjem umjesto nagađanjem. Neuspjeh koji troši najviše vremena nije autentifikacija nego nedostajući put podataka.

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

Ako se postavljanje dovrši, a veza nikada ne prenosi promet, posumnjajte u GRE put prije nego dirnete vjerodajnice. Cloud sigurnosne grupe trebaju izričito pravilo za protokol 47, a neke mreže blokiraju ga potpuno bez vidljive pogreške. Testirajte iz mreže koju ćete stvarno koristiti, ne iz laboratorija koji dopušta sve.

L2TP/IPsec: jedan odgovarajući prijedlog pobjeđuje deset pokušaja

Čitajte dnevnik demona, a ne dijalog na radnoj površini, jer dijalog spaja nekoliko različitih neuspjeha u jednu poruku. Greška NO_PROPOSAL_CHOSEN pripada prvoj fazi: klijent je ponudio enkripciju, hash ili Diffie-Hellman grupu koju poslužitelj neće prihvatiti. Nabrojite što uređaj podržava i napišite jedan prijedlog koji se s time podudara, jer slučajne kombinacije uglavnom daju istu grešku sporije. Na radnoj površini praktičan klijent je dodatak NetworkManager L2TP sa strongSwan ili Libreswan ispod.

Niz prijedloga koji za dodatak na radnoj površini znači jedno može za demona kojemu predaje posao značiti nešto drugo, pa držite sintaksu primjerenu sloju koji uređujete. Ako uređaj traži i tajnu tunela, to je zasebna faza od IPsec ključa. Potvrdite za koje od to dvoje sučelje pita prije nego u njega upišete bilo što.

Agresivni IKEv1 s XAuthom i slučaj portala

Krajnja točka u stilu FortiGatea obično želi agresivni način rada s XAuthom i adresu u konfiguriranom načinu, što grafički dodatak možda uopće ne izlaže. Ugrađeni demon to rješava, a blok u nastavku oblik je te konfiguracije, ne potpuna datoteka. Provjerite aktualnu dokumentaciju proizvođača za vrijednosti prijedloga.

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

Starija izdanja strongSwana koristila su xauth=client gdje verzija 5 koristi leftauth2=xauth, pa kopirani ulomak može pasti samo zbog sintakse. Za TLS portal openconnect koji govori AnyConnect protokol rješava Cisco i većinu preimenovanih marki, a treba mu TUN uređaj i ovlasti za njegovo konfiguriranje. Prenesite adresu portala točno onako kako je preglednik prikazuje, uključujući svaki put koji uređaj očekuje, pa provjerite dodijeljenu adresu prije nego testirate bilo što iza nje. Stvaranje sučelja unaprijed uklanja jednu vrstu iznenađenja tijekom postavljanja.

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

Povežite se, zatim provjerite u fiksnom redoslijedu

Pokrećite točno jedan VPN upravitelj odjednom, jer će se profil NetworkManagera i ručno pokrenuti demon boriti oko ruta i DNS-a. Spustite profil prije testiranja ručne veze i potvrdite da nije preživjelo nijedno staro sučelje tunela. Zatim provjerite ovim redom: adresa tunela, ruta do jedinog unutarnjeg hosta koji vam treba, razrješavanje imena i naposljetku stvarni zahtjev. Zelena ikona dokazuje autentifikaciju i ništa drugo.

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

Ako neki korak zataji, zaustavite se ondje umjesto da testirate sljedeći, jer kvar DNS-a nizvodno od slomljene rute ne uči vas ničemu. Spremite kopiju radnog profila prije eksperimentiranja, jer izbrisanu datoteku veze lako je izgubiti i mukotrpno je ponovno sastaviti. Čuvajte vrijednosti prijedloga u istoj bilješci kao model uređaja i verziju firmwarea, jer ta bilješka je razlika između migracije i arheološkog projekta kad se kutija zamijeni.

Povezani članci