Sa isang headless na kahon ay walang browser na bubuksan at walang kandado na titingnan, kaya ang pagsusuri ay dapat na isang kahilingang mababasa mo ang sagot. Mukhang walang halaga ito hanggang mapansin mo na isang resulta lamang ng exit address ang ginagamit upang patunayan ang isang aparatong nagpapatakbo ng dosenang serbisyo, dalawang pamilya ng address at isang proxy. Ang sumusunod na paglalahad ay bumubuo ng isang limitadong ebidensya sa isang pagkakataon, sa parehong konteksto kung saan talagang tumatakbo ang workload.

Magpasya kung ano ang dapat patunayan ng pagsubok

Bago magpatakbo ng anuman, isulat ang inaasahan sa isang linya: aling daloy, sa aling interface, patungo sa aling destinasyon, at ano ang dapat makita sa kabilang dulo. Ang pagsubok na walang nakasaad na inaasahan ay nagbibigay ng bilang na walang makapagpapaliwanag.

Ang pinakakapaki-pakinabang na bersyon ay nagngangalan ng aprubadong endpoint na nag-uulat ng source address na nakita nito.

Ang endpoint na iyon ang tanging bahagi na kailangan mong ayusin. Ang lahat ng iba ay obserbasyon sa panig ng kliyente, at ang mga obserbasyon sa panig ng kliyente ay nabigo sa kawili-wiling paraan.

Patakbuhin ang obserbasyon sa tamang konteksto

Ang shell ng administrador ay hindi ang kapaligiran ng workload. Maaari itong magdala ng ibang proxy variable, ibang routing table sa ibang namespace, o environment file ng ibang user. Patakbuhin ang pagsubok sa parehong host, container, namespace o serbisyo na konteksto ng sinusuri mo. Kung hindi, sinusukat mo ang sarili mong shell.

Sa normal na host, ibig sabihin nito ay parehong user at parehong unit. Sa kapaligiran ng container, ibig sabihin nito ay pagpasok sa network namespace ng container sa halip na sumubok mula sa host. Sa serbisyong systemd, maaaring isang panandaliang unit na may parehong mga setting.

Ang susunod na kahilingan ay may kahulugan lamang kapag nasa tamang konteksto ka.

Suriin ang mga pamilya ng address nang hiwalay

Humingi ng bawat pamilya nang tahasan, dahil ang matagumpay na kahilingang IPv4 ay hindi nagsasanay ng rutang IPv6. Pinipilit ng mga selector na --ipv4 at --ipv6 ang pagpili, at ang pagkakaiba ng dalawang resulta ay mismong impormasyon.

curl --ipv4 https://probe.example/observed-source
curl --ipv6 https://probe.example/observed-source

Ang nabigong kahilingang IPv6 ay hindi patunay ng mabisang pagharang. Maaaring ibig sabihin na walang IPv6 address ang endpoint, na walang naibalik na magagamit ang DNS, o na walang rutang IPv6 ang aparato. Basahin ang kabiguan bago gumawa ng konklusyon. Ang matagumpay na kahilingang IPv6 sa tunnel ang tanging resulta na nagpapatunay na sakop ang rutang IPv6.

Itala ang dalawang sagot nang magkatabi. Ang isa lamang ay kalahati ng isang katotohanan.

Idagdag ang apat na bagay na napapabayaan ng exit check

Ang exit address ay sumasagot sa isang tanong. Apat pa ang nagtatakda kung kumikilos ang tunnel ayon sa disenyo.

CheckWhat it provesWhat it does not
Included and excluded destinationsThe split behaves as designed for those flowsCoverage of any other destination
Resolver pathWhere a fresh lookup actually travelledWhere a cached answer came from
Tunnel-down behaviourThe failure policy for a new requestWhat an already open connection does
Reconnect and restartThe requirement survives the lifecycle eventBehaviour under load or partial failure

Ang patakaran ng destinasyon ang una: subukan ang daloy na dapat isama at ang daloy na dapat ibukod, kapag may paghahati ang disenyo. Pagkatapos ang DNS, kung saan sinisiyasat mo ang aktwal na ruta ng resolver sa halip na ang naka-configure na halaga, dahil ang naka-cache na sagot o nakalimbag na setting ay walang sinasabi tungkol sa kung saan napunta ang bagong query.

Ang pag-uugali kapag nabigo ay nangangailangan ng plano at pinapanatiling daan ng pagbangon. Obserbahan ang bagong kahilingan habang hindi available ang tunnel, at tandaan na ang lumang bukas na koneksyon ay hindi ebidensya tungkol sa patakaran ng pagkabigo. Ang lifecycle ay huli: ulitin ang obserbasyon pagkatapos ng muling pagkonekta o pag-restart ng serbisyo kung naaapektuhan ng mga pangyayaring iyon ang pangangailangan.

Itala ang ebidensya, hindi ang hatol

Para sa bawat resulta, itago ang konteksto ng proseso, destinasyon, pamilya ng address, oras at naobserbahang pinagmulan. Ang set na iyon ay limitadong ebidensya tungkol sa mga daloy na sinanay mo, at maipagtatanggol dahil sinasabi nito kung ano ang sakop.

Hindi ito audit ng mga talaan ng operator ng VPN, at hindi sertipiko para sa bawat hinaharap na aplikasyon sa aparato.

Isulat ang mga hangganan sa tabi ng resulta. Ang pagsubok na nagsasaad kung ano ang hindi sakop ay nakakalampas sa pagsusuri, samantalang ang nagsasabing beripikado ang aparato ay hindi. Itago ang manwal ng curl sa tabi ng mga selector ng pamilya na ginamit mo, at itago ang talahanayang may apat na hilera kasama ng mga resulta.

Kaugnay na mga artikulo