Išėjimo IP adresą matuokite paskirties pusėje. Tarpinių serverių sąraše pateiktas adresas priklauso klausančiam galiniam taškui, prie kurio jungiasi klientas; dėl NAT, maršrutizavimo ar dar vieno išėjimo mazgo paskirtis gali matyti kitą šaltinio adresą.

Palyginkite to paties IP tikrinimo galinio taško rezultatus su tarpiniu serveriu ir be jo. Trumpas pavyzdys su vieša paslauga:

curl --noproxy '*' --connect-timeout 5 --max-time 15 https://httpbin.org/ip
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 https://httpbin.org/ip

Dokumentacijai skirtą pavyzdinį tarpinio serverio adresą pakeiskite veikiančiu galiniu tašku. Pasirinkę įrašą iš HTTP tarpinių serverių sąrašo, klausančio taško adresą ir stebėtą išėjimo adresą laikykite atskirai. Pirmoji užklausa apeina tarpinius serverius ten, kur leidžiama tiesioginė prieiga; antroji išvalo apėjimo taisykles ir pasirenka tarpinį serverį. Tikrinimo paslauga gauna abi užklausas, todėl nesiųskite privačių duomenų, slapukų ar prieigos žetonų.

Žiūrėkite į praneštą adresą, ne tik į HTTP 200. Tikėtinas kitoks adresas patvirtina prielaidą apie šios užklausos naudotą kelią. Jei rezultatai sutampa, prieš nuspręsdami, kad sąrašo įrašas klaidingas, patikrinkite apėjimo taisykles ir konfigūraciją.

Patikrinkite, ką matuoja IP tikrintuvas

httpbin origin rezultatas gali naudoti X-Forwarded-For antraštę, jei ji yra. Rezultate gali būti adresų grandinė, o ne tiesioginio lizdo ryšio partnerio adresas; tai ypač svarbu tikrinant paprasto HTTP persiuntimą. Kai reikia tikslumo, geriau naudoti savo valdomą tikrintuvą: žinomoje tinklo riboje registruokite tikrąjį ryšio partnerį ir pasitikėkite persiuntimo antraštėmis tik tada, kai jas pateikia ir patvirtina jūsų infrastruktūra.

Adresas, kurį curl jau žino

curl --proxy http://203.0.113.10:8080 --noproxy '' --output /dev/null --write-out 'peer=%{remote_ip}\n' https://example.com/

remote_ip nurodo curl ryšio partnerį — šiame pavyzdyje paprastai HTTP tarpinio serverio galinį tašką. Tai padeda patvirtinti, kur prisijungė curl, bet neparodo tarpinio serverio išsiunčiamų ryšių šaltinio adreso. Į pastarąjį klausimą atsako paskirties pusėje gautas rezultatas.

Pakartokite patikrą programoje, kuri naudos tarpinį serverį. Sėkminga curl užklausa nesukonfigūruoja naršyklės; profiliai, plėtiniai, apėjimo taisyklės ir sistemos nuostatų nepaisančios programos gali rinktis skirtingus kelius. Jei svarbi vieta, patikrinkite stebėto išėjimo adreso vietą ir kartu su rezultatu išsaugokite tiek galinį tašką, tiek išėjimo adresą.

Susiję straipsniai