Cererea ajunge, serverul o înregistrează, iar clientul raportează în continuare un timeout. Această combinație înseamnă că răspunsul nu și-a găsit drumul înapoi, și este una dintre puținele defecțiuni pe care le poți confirma din ambele capete simultan. Fă verificările în ordine și oprește-te când una dintre ele eșuează.

Începe cu locul în care a ajuns cererea

Confirmă că pachetul a ajuns la serviciu înainte de a inspecta orice altceva. O înregistrare în jurnalul serverului, un contor de conexiuni sau o captură permisă la capătul îndepărtat răspund toate aceleiași întrebări, iar absența lor te trimite înapoi la tunel, nu mai departe la răspuns. Aceasta este verificarea care separă o problemă de forwardare de o problemă a căii de întoarcere.

Dacă cererea nu a ajuns niciodată, oprește-te aici. Tunelul, rutarea către prefixul privat sau regula de acces sunt subiectul, iar calea răspunsului nu este încă relevantă. Notează și adresa sursă pe care a văzut-o serverul. Este fie adresa din pool pe care a primit-o clientul, fie o adresă tradusă, iar această diferență determină care dintre verificările ulterioare se aplică.

Răspunsul are nevoie de o rută către pool

Un client de acces la distanță primește de obicei o adresă dintr-un pool, iar rețeaua privată are nevoie de o rută înapoi către acel pool. Un server a cărui rută implicită indică propriul gateway predă pachetul acelui gateway, care nu are habar unde se află pool-ul, așa că răspunsul moare acolo. Clientul vede un timeout pentru că nu s-a întors nimic, ceea ce nu se poate distinge de o cerere care nu a plecat niciodată.

Verifică ruta pe care serverul o alege pentru adresa clientului, nu ruta pe care o folosește pentru propria subrețea. Aceste două căutări pot da răspunsuri diferite, iar a doua este cea care contează aici. Traducerea este proiectarea alternativă și schimbă ceea ce vede serverul. Poate simplifica o cale de întoarcere și, de asemenea, elimină adresa originală a clientului din jurnalele serverului, ceea ce afectează orice regulă sau raport construit pe acel câmp.

Compară captura de pe server cu captura de pe gateway

Compară ce iese din server cu ce ajunge la gateway. O captură pe interfața de ieșire a serverului și o captură pe gateway-ul tunelului răspund la jumătăți diferite ale întrebării, iar diferența dintre ele localizează pierderea.

ip route get 10.90.0.14
tcpdump -ni any host 10.90.0.14 and port 443
ip route show table all | grep 10.90.0.0
Where the reply stopsWhat it proves
Request in the server log, nothing on its outbound captureThe server picked a gateway that cannot reach the pool
Reply leaves the server but never shows up at the gatewayLoss on the LAN path, not on the tunnel
Reply reaches the gateway but not the clientReturn translation or tunnel policy, not the server route

O cerere generată de gateway-ul însuși este un substitut slab pentru un test din client, pentru că provine de la altă adresă și întâlnește alte reguli. De aceea un ping reușit din gateway și o cerere eșuată din client pot fi ambele adevărate.

Când pe drum se află mai multe routere, verifică fiecare dintre cele care au nevoie de o rută către pool. O proiectare site-la-site cere adesea ca prefixul îndepărtat să fie cunoscut pe mai mult de un dispozitiv, iar gateway-ul însuși trebuie să forwardeze între tunel și rețeaua locală; notele strongSwan despre forwardare acoperă partea de sysctl și de firewall a acestui lucru.

Notează pool-ul, prefixul și responsabilul

În notă intră patru fapte: pool-ul pe care l-a primit clientul, prefixul privat de care avea nevoie, routerul responsabil pentru răspuns și regula de traducere dacă există. Cu acestea, o schimbare ulterioară de gateway este o comparație, nu o investigație.

Apoi retestează cu un client obișnuit și cu contul real al aplicației. Extinderea privilegiilor aplicației nu poate repara calea de întoarcere a unui pachet, iar o modificare de cont făcută în timpul acestui diagnostic va încurca următoarea comparație. Dacă proiectarea se bazează pe traducere, documenteaz-o acolo unde se citesc jurnalele serverului. Cine vede o adresă sursă necunoscută într-o urmă de audit nu ar trebui să redescopere maparea dintr-un tichet.

Articole similare