strongSwan vips: cererea unei adrese virtuale de la IKEv2
vips cere o adresă IKEv2 internă; gateway-ul decide ce acordă. Configurați cererea, încărcați-o și apoi verificați ce a atribuit de fapt respondedorul.
Clientul dumneavoastră IKEv2 poate cere gateway-ului o adresă internă, iar gateway-ul decide ce trimite înapoi. În strongSwan, acea cerere este setarea vips, și rămâne o cerere chiar și când scrieți în ea o adresă anume. Ghidul de mai jos configurează cererea, o încarcă și citește ce s-a întors, pentru că acești trei pași eșuează în trei moduri diferite. Niciunul dintre ei nu devine mai scurt dacă tastați mai apăsat.
Ce cere vips și ce nu poate promite
vips aparține unei definiții de conexiune și cere respondedorului o adresă virtuală. Ghidul strongSwan pentru adrese virtuale spune explicit că răspunsul poate fi altă adresă sau nimic, iar aceasta este propoziția pe care oamenii o sar când scriu o valoare și se așteaptă ca ea să apară. Cererea merită totuși făcută, pentru că ceea ce verificați este răspunsul. Tratați setarea ca o instrucțiune de a întreba, nu ca o configurare a rezultatului.
Cererea pentru 0.0.0.0 solicită orice adresă virtuală IPv4 disponibilă, ceea ce este de obicei corect când valoarea exactă nu contează. Cererea unei adrese anume este un indiciu pentru gateway, nu o cerință impusă acestuia.
Fragmentul swanctl și locul lui
Setarea se află în blocul conexiunii, nu într-un fișier propriu și nu într-un profil al sistemului de operare. Acest fragment izolat arată forma:
connections {
net {
local_addrs = 192.0.2.10
remote_addrs = 203.0.113.5
vips = 10.77.0.31
children {
net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
}
}
}
Încărcați-o cu fișierul care deține conexiunea, apoi porniți conexiunea și citiți rezultatul. Un fragment lipit în secțiunea greșită produce o eroare de analiză sau, mai rău, o conexiune care se încarcă fără cererea pe care credeați că ați făcut-o. Rulați cele trei comenzi în ordine și păstrați ieșirea.
swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas
local_ts alege traficul, nu creează o adresă
local_ts numește setul de trafic pe care îl protejează SA copil; nu pune o adresă pe o interfață. Odată ce un IP virtual este negociat, strongSwan nu mai folosește selectorul dinamic implicit și folosește în schimb adresa acordată. Dacă fixați selectorul pe o adresă literală, afirmați ceva ce gateway-ul poate nu a acordat, și de aceea defecțiunea apare ca un SA funcțional cu trafic care nu merge nicăieri. Selectorul descrie traficul, în timp ce atribuirea vine din cealaltă schimbare.
Cealaltă cale de a obține o adresă internă stabilă este să o dețineți local. Puneți adresa pe o interfață înainte ca tunelul să urce, îndreptați selectorul spre ceea ce există deja și aranjați partenerul și ruta în jurul acestui lucru.
În acel design nu se negociază nimic, deci nimic nu poate fi reatribuit, și acesta este schimbul: determinism în locul faptului de a face singur munca de adresare. Este un mecanism diferit, nu o variantă de vips, motiv pentru care cele două nu trebuie amestecate într-o singură conexiune. Un selector fixat lângă o adresă negociată este o conexiune care funcționează până când gateway-ul eliberează altceva.
Verificați ce a atribuit de fapt respondedorul
Citiți lista SA pentru adresa acordată de gateway, apoi confirmați că adresa există pe interfață. Dacă cele două nu concordă, tunelul este ridicat, iar traficul nu merge unde credeți. O adresă acordată care nu ajunge niciodată pe interfață este cea mai confuză defecțiune din această secvență, pentru că fiecare jumătate pare corectă singură.
Țineți patru adrese separate în note: adresa internă cerută, cea acordată, adresa LAN a mașinii și ieșirea publică pe care o raportează un site. Ele aparțin unor straturi diferite și apar în locuri diferite. Un ghid care le înregistrează pe toate patru este unul pe care altcineva îl poate urma fără să întrebe la ce adresă v-ați referit. Recitiți-le după fiecare reîncărcare, pentru că valoarea acordată este singura care descrie tunelul activ.
Țineți proiectul static separat
Dacă aveți nevoie de o adresă internă fixă, aranjați rezervarea pe gateway și lăsați cererea clientului să fie o cerere. Amestecarea unui selector fixat cu o adresă negociată dă o conexiune care funcționează până când gateway-ul atribuie altceva. Notați regula de rezervare lângă conexiune, pentru că este partea pe care un coleg nu o poate deduce din fișierul de configurare. Atunci un client nou moștenește regula în loc să o redescopere.
Pe clientul Mac încorporat nu există niciunul dintre aceste nume de opțiune. Folosiți atribuirea sau rezervarea oferită de gateway și profilul publicat de operator, și tratați orice valoare din partea clientului ca indiciu până când ați recitit atribuirea. Revenirea înseamnă eliminarea liniei vips și reîncărcarea, ceea ce vă readuce la ceea ce gateway-ul atribuie implicit.