Četras protokolu saimes aptver gandrīz katru ierīci, kas vēl stāv rackā, un katra no tām Linux vidē neizdodas citādi. Tālā gala publicētie porti un konfigurētie priekšlikumi nosaka jūsu pakotni, nevis distribūcija, ko nejauši palaižat. Instalēt to, ko piemin foruma ieraksts, un pēc tam rediģēt, līdz kaut kas pieslēdzas, ir veids, kā pazūd pēcpusdiena. Izlasiet ierīci, instalējiet otro, pārbaudiet trešo.

Pierakstiet, ko publicē tālais gals

Pirms atverat pakešu pārvaldnieku, pierakstiet protokolu, portus un autentifikāciju, ko ierīce gaida. Četras saimes aptver lielāko daļu vecā aprīkojuma, un tabula zemāk ir viss lēmums vienā ekrānā.

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

Rokasgrāmata un pašas ierīces ugunsmūra noteikumi ir uzticamāki par protokola nosaukumu tās pieteikšanās lapā. Ierīce, kas reklamē IPsec, var runāt tikai IKEv1, un programmaparatūras laidums, ko neviens nav instalējis, var būt tas, kas beigās pievieno IKEv2. Pārbaudiet gan datu ceļu, gan iestatīšanas portu, jo tieši tur vecais aprīkojums un mūsdienu tīkli atšķiras. Kļūdīties šajā solī nozīmē atkļūdot savu klientu pret funkciju, kuras otram galam nekad nav bijis.

PPTP: pierādiet GRE, pirms rediģējat pppd

PPTP Linux vidē nav dēmons, ko palaižat, bet pppd izsaukums, un savienojuma parametri dzīvo nosauktā peer failā, ko pppd nolasa, kad to izsauc. Distribūcijas to joprojām iepako, lai gan zināmās protokola vājības padara to nederīgu jebkam sensitīvam, tāpēc turiet to stingri tikai ierīcei, kas nepiedāvā neko citu. Vērojiet GRE, kamēr klients sarunājas, ar īsu ierakstu, nevis minējumu. Laiku visvairāk izšķērdējošā kļūme nav autentifikācija, bet gan trūkstošais datu ceļš.

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

Ja iestatīšana beidzas un saite nekad nepārvada datplūsmu, pirms aiztikt akreditācijas datus, aizdomājieties par GRE ceļu. Mākoņu drošības grupām ir vajadzīgs skaidrs noteikums protokolam 47, un daži tīkli to pilnībā bloķē bez redzamas kļūdas. Pārbaudiet no tīkla, ko patiešām izmantosiet, nevis no laboratorijas, kas atļauj visu.

L2TP/IPsec: viens atbilstošs priekšlikums pārspēj desmit mēģinājumus

Lasiet dēmona žurnālu, nevis darbvirsmas dialogu, jo dialogs apvieno vairākas dažādas kļūmes vienā ziņojumā. NO_PROPOSAL_CHOSEN kļūda pieder pirmajai fāzei: klients piedāvāja šifrēšanu, jaucējvērtību vai Diffie-Hellman grupu, ko serveris nepieņems. Uzskaitiet, ko ierīce atbalsta, un uzrakstiet vienu atbilstošu priekšlikumu, jo nejaušas kombinācijas visbiežāk dod to pašu kļūdu lēnāk. Darbvirsmā praktiskais klients ir NetworkManager L2TP spraudnis ar strongSwan vai Libreswan zem tā.

Priekšlikuma virkne, kas darbvirsmas spraudnim nozīmē vienu, dēmonam, kuram tā nodod darbu, var nozīmēt ko citu, tāpēc saglabājiet sintaksi atbilstošu rediģētajam slānim. Ja ierīce pieprasa arī tuneļa noslēpumu, tas ir atsevišķs posms no IPsec atslēgas. Pirms kaut ko ierakstāt, pārliecinieties, kuru no abiem jautā saskarne.

Agresīvs IKEv1 ar XAuth, un portāla gadījums

FortiGate stila galapunkts parasti vēlas agresīvu režīmu ar XAuth un konfigurētā režīma adresi, ko grafiskais spraudnis var nemaz neparādīt. Vietējais dēmons to apstrādā, un bloks zemāk ir šīs konfigurācijas forma, nevis pilnīga datne. Priekšlikuma vērtības skatiet ražotāja aktuālajā dokumentācijā.

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

Vecāki strongSwan laidumi izmantoja xauth=client tur, kur 5. versija izmanto leftauth2=xauth, tāpēc kopēts fragments var neizdoties tikai sintakses dēļ. TLS portālam openconnect, kas runā AnyConnect protokolā, tiek galā ar Cisco un lielāko daļu pārdēvēto zīmolu, un tam ir vajadzīga TUN ierīce un tiesības to konfigurēt. Nododiet portāla adresi tieši tā, kā to rāda pārlūks, ieskaitot jebkuru ceļu, ko ierīce gaida, un pēc tam pirms kaut kā testēšanas aiz tās pārbaudiet piešķirto adresi. Saskarnes iepriekšēja izveide novērš vienu pārsteigumu klasi iestatīšanas laikā.

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

Pieslēdzieties, pēc tam pārbaudiet noteiktā secībā

Vienlaikus darbiniet tieši vienu VPN pārvaldnieku, jo NetworkManager profils un ar roku palaists dēmons sacentīsies par maršrutiem un DNS. Pirms manuāla savienojuma testēšanas noņemiet profilu un pārbaudiet, ka nav palikusi veca tuneļa saskarne. Pēc tam pārbaudiet šādā secībā: tuneļa adrese, maršruts uz vienīgo iekšējo resursdatoru, kas jums nepieciešams, vārdu atrisināšana un visbeidzot faktisks pieprasījums. Zaļa ikona pierāda autentifikāciju un neko citu.

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

Ja kāds solis neizdodas, apstājieties tur, nevis testējiet nākamo, jo DNS kļūme aiz salauzta maršruta neko nemāca. Pirms eksperimentiem saglabājiet strādājošā profila kopiju, jo izdzēsta savienojuma datne viegli pazūd un to ir grūti atjaunot. Glabājiet priekšlikuma vērtības tajā pašā piezīmē kopā ar ierīces modeli un programmaparatūras versiju, jo šī piezīme ir atšķirība starp migrāciju un arheoloģijas projektu, kad kārba tiek nomainīta.

Saistītie raksti