Prilagodite Linux VPN klijent protokolu starog uređaja
Pročitajte objavljene portove uređaja, zatim instalirajte klijent koji odgovara: pppd preko GRE-a, strongSwan za IKEv1 XAuth ili openconnect za portal.
Č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.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect 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.