Wêrom traceroute yn ien rjochting stjert troch in VPN-tunnel
In spoar dat yn ien rjochting foltôget en yn ’e oare stjerren printsje lit, is meastentiids in diagnostysk probleem. Ferlykje probe-metoaden, weromrûtes en in echt fersyk.
Traceroute-útfier dat yn ien rjochting foltôget en yn ’e oare rigen stjerren printsje lit, liket op asymmetrysk troerstjoeren, en meastentiids is it dat net. Elke toande hop freget dat de probe oankomt, dat in router beslút te antwurdzjen en dat it antwurd werom reizget en oan de probe keppele wurdt. Brek ien fan dy skeakels en de rige wurdt in stjer, wylst de tunnel trochgiet mei gegevens te dragen.
It spoar is bewiis oer diagnostyk foardat it bewiis oer ferfier is. De fraach dy’t it wurdich is om te stellen, is hokker fan de trije skeakels mislearre, en it antwurd komt út de pakketten, net út ’e foarm fan ’e útfier.
In stjer is in ûntbrekkend antwurd, net in ûntbrekkende hop
Traceroute giet nei bûten ta troch probes te stjoeren wêrfan’t de TTL by elke ronde ien router fierder ferrint. In router dy’t in ferrûne probe fuortsmyt, heart in ICMP Time Exceeded-berjocht werom te stjoeren dat himsels neamt, en it helpmiddel printsjet dy namme. Dêr’t it helpmiddel eins op wachtet, is dat dat berjocht binnen in tiidlimit oankomt. As de router fan in oar boarneadres antwurdet, beheint hoe faak er flaters generearret, of de probe sûnder wurd fuortsmyt, jout de ronde neat printsber.
Gjin fan dy útkomsten seit dat it foarútpaad brutsen is. In stjer is in ferslach oer ûnbeäntwurde post, net oer in leech paad.
De probe-metoade bepaalt hokker filter jo treffe
De standertmetoade op Linux is meastentiids in UDP-bestimmingspoarte mei in heech nûmer, tracert yn Windows stjoert ICMP-echo’s, en Linux kin sein wurde om ynstee ICMP of TCP te brûken. Elk dêrfan liket foar in steatfoller firewall of in wolkfeiligensgroep op in oar soart ferkear. In UDP-spoar fan ien kant ferlykje mei in ICMP-spoar fan ’e oare kant ferlykje twa ferskillende eksperiminten. Fêstje de metoade, de adresfamylje, it boarneadres en de tiidlimit foardat jo de resultaten in ferskil neame.
Foar in earlike ferliking rint jo it spoar fan de hosts dy’t it ferkear echt drage, net fan in gateway dy’t foar har troerstjoert. In troch de router generearre spoar brûkt it eigen boarneadres en útfierbelied fan ’e router, dy’t stranger wêze kinne as wat in klant sjocht. Skriuw de krekte opdracht op, sadat de folgjende persoan it werhelje kin.
De tiidlimitwearde is de oare helte fan it eksperimint, en it is maklik om it út ’e notysjes wei te litten. In wachtsjen fan twa sekonden op in oerbefolle paad rapportearret stjerren dêr’t in wachtsjen fan fiif sekonden hops rapportearret. Hâld de wearde itselde oer alle runs, sadat de ferliking oer it netwurk bliuwt.
It werompaad is in eigen rûte
In ICMP-flater is in gewoan pakket mei syn eigen boarne en bestimming, en it hat in rûte werom nei de tracer nedich. As it tunnelbelied de LAN-prefiksen draacht mar net it routeradres dat de flater generearre, ferlit it berjocht in paad dat jo net berikke kin. Antwurdfiltering kin it fuortsmiten sels as de rûte bestiet, om’t it pakket fan in ûnferwachte adres op in ûnferwachte ynterface oankomt. Dat is in misferhâlding yn it diagnostyske flak, net in flater fan ’e applikaasje.
Elke selektor ferbreedzje oant it spoar foltôget, makket it byld moaier en it belied slimmer. Reparje it spesifike diagnostyske adres, of akseptearje de stjer en test de applikaasje op in oare manier.
Befêstigje de tunnel mei in echt fersyk
In TCP-handshake op ’e eigen poarte fan ’e tsjinst oefenet troerstjoeren, weromrouting en filtering yn ’e rjochting dy’t fan belang is. De opdrachten hjirûnder rinne oan beide kanten en ferlykje wat elke kant iepenje kin. Ferfange de tsjinstpoarte en de namme fan ’e tunnel-yynterface troch dy fan jo eigen ynstelling.
traceroute -I -n -w 2 203.0.113.40
traceroute -T -p 443 -n -w 2 203.0.113.40
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 5 http://203.0.113.40:8080/health
ss -tan state established
Lês earst de twa traceroute-runs: as de ICMP-run hops sjen lit en de TCP-run net, is it ferskil metoade, net paad. Nim dan it curl-resultaat as it antwurd op applikaasjenivo, om’t in foltôge útwikseling mei in sinfolle statuskoade betsjut dat it foarút- en werompaad beide wurkje foar echt ferkear. De socketlist lit sjen oft de ferbining oeral ta stân kommen is, wat gjin spoar jo sizze kin.
In tunnel dy’t in ynteraktive sesje yn beide rjochtingen draacht wylst ien traceroute stjerren printsjet, is sûn en gewoan net fotogenyk. Bewarje de opdrachtútfier fan elke kant as it rekord, en behannelje ûntbrekkende hops as in iepen fraach oer diagnostyk ynstee fan in oardiel oer de VPN.