Ping ne estas pruvo: testu la vojon inter du ejoj
Ping de la enirejo diras nenion pri la servo. Trairu la vojon de reala kliento, uzu la protokolon de la aplikaĵo kaj reproduktu la grandecon aŭ la nomon, kiu malsukcesas.
La tunelo funkcias, la enirejoj respondas unu al la alia, kaj la uzantoj en unu ejo ankoraŭ ne povas malfermi la kunhavigitan dosierujon en la alia. Iu pingas de la enirejo, ricevas respondon kaj deklaras la reton sana. Tiu respondo vojaĝis inter du aparatoj, kiuj neniam estis la problemo. Utila testo komenciĝas ĉe la gastiganto, kiu bezonas la servon, uzas la protokolon, kiun uzas la aplikaĵo, kaj reproduktas la kondiĉon, sub kiu ĝi malsukcesas. Ĉio alia estas verda lumo por vojo, sur kiu neniu estas.
Komencu ĉe la kliento, kiu bezonas la servon
Notu kvar aferojn antaŭ ol testi ion ajn: la adreson de la kliento, la celan adreson, la gastigantan nomon kaj la pordon de la aplikaĵo. Poste konfirmu, ke la servo funkcias loke en sia propra ejo, de gastiganto apude. Sen tiu bazlinio vi ne povas distingi rompitan tunelon de rompita servo, kaj duono de ĉi tiuj biletoj estas la dua.
Provu la dokumentitan gastigantan nomon kaj, kie la servo permesas, rektan adreskontrolon de la sama pordo. Malsukcesa nomserĉo kaj neatingebla solvita adreso kondukas vin laŭ malsamaj vojoj. Se vi anstataŭigas gastigantan nomon per IP, ne malŝaltu la HTTPS-identeckontrolon por ke ĝi funkciu; atentigo pri atestilo estas informo, ne baro.
Trairu la vojon ĉe ĉiu rando
Legu la itineron, kiun elektas la kliento, poste la itineron, kiun elektas la enirejo por tiu celo, poste la nombrilojn aŭ limigitan kapton ĉe ĉiu rando. Vi serĉas du faktojn: ĉu la peto alvenis al la fora loka reto, kaj ĉu respondo revenis. Interfacaj nombriloj inkluzivas ĉiun alian fluon, do kunrilatigu laŭ preciza tempomarko kaj adresparo anstataŭ laŭ la formo de la grafikaĵo. Kapto farita ĉe la malĝusta rando estas pli malbona ol nenia, ĉar ĝi aspektas kiel pruvo.
ip route get 10.10.0.5
sudo tcpdump -ni any host 10.10.0.5 and port 445
sudo tcpdump -ni any net 10.10.0.0/24 and net 10.20.0.0/24
Se la peto aperas ĉe la fora rando sen respondo malantaŭ ĝi, la problemo estas ĉe la alia flanko: fajroŝirmilo, mankanta revena itinero aŭ gastiganto, kiu ne akceptas la fonton. Se la peto neniam aperas, la loka itinero aŭ la tunelaj elektiloj ne portis ĝin, kaj la alia flanko ankoraŭ ne indas esploradon.
Uzu la protokolon, kiun uzas la aplikaĵo
ICMP estas malforta sondilo. Ĝi povas esti filtrita, laŭrapide limigita aŭ traktata de malsama politiko ol la servo, kio igas kaj ĝian sukceson kaj ĝian malsukceson ambiguaj. Testu la faktan pordon kaj, kie vi povas, la faktan protokolan manpremon.
nc -vz 10.10.0.5 445
curl -sv --max-time 5 https://files.corp.internal/ -o /dev/null
openssl s_client -connect 10.10.0.5:443 -servername files.corp.internal
Kompletigita TCP-manpremo pruvas atingeblon kaj politikon por tiu pordo. Ĝi ne pruvas, ke la aplikaĵo funkcias: aŭtentigo, alŝuto aŭ specifa API-voko ankoraŭ povas malsukcesi. Testu la operacion, kiun uzantoj efektive faras, per sendanĝera ekvivalento anstataŭ ripete sendi realan transakcion.
Reproduktu la kondiĉon, kiu malsukcesas
Malsukcesoj, kiuj aperas nur ĉe grandaj transigoj, estas problemo de grando, ne de konektebleco. Sendu grandan paketon kun la bito don't-fragment ŝaltita kaj observu, kie ĝi haltas. Se malgranda peto sukcesas kaj granda pendas, la tunela MTU kaj la traktado de MSS ĉe la enirejoj estas la sekvaj suspektatoj.
ping -M do -s 1400 10.10.0.5
ping -M do -s 1472 10.10.0.5
curl -sS --max-time 30 -F file=@./sample.bin https://files.corp.internal/upload
Se malsukcesas nur unu subreto, rigardu la trafikajn elektilojn, la itinerajn anoncojn kaj la revenan enirejon de tiu subreto. Se malsukcesas nur la gastiganta nomo, sekvu DNS, inkluzive kiun solvilon la kliento uzis kaj ĉu la fora vido estas videbla de tiu ejo. Tri malsamaj paneoj, tri malsamaj riparioj, kaj la ping-testo distingas neniun el ili.
Post la ripario, ripetu la saman teston
Relanĉu la identan klienton, celon, pordon kaj ŝarĝon. Poste rekonektu aŭ provu la rezervan vojon se la dezajno havas unu, ĉar ripario, kiu funkcias nur dum la originala tunela ekzemplero vivas, ne estis testita. Tenu la teston ligita al reala fonto, reala celo kaj reala operacio anstataŭ al unu verda indikilo sur panelo.
Registru la kvar bazajn valorojn kaj la rezulton. La sekva raporto pri la sama simptomo povas tiam komenciĝi de pruvoj anstataŭ de ping.