Veza samo preko IPv6, usluga na IPv4: pustite SOCKS proxy da je premosti
SOCKS proxy prihvata jednu vezu i otvara drugu, pa klijent samo na IPv6 doseže uslugu na IPv4. To je preusmjeravanje, a ne izvorni pristup IPv4.
Nije vam potrebna adresa iz porodice odredišta da biste ga dosegli, sve dok je nešto na putu spremno preusmjeriti. Aplikacija se povezuje s proxyjem, a proxy otvara drugu vezu prema odredištu. To su dva socketa s nezavisnim porodicama adresa i ništa ni u jednom protokolu ne zahtijeva da se poklapaju. To je preusmjeravanje na razini aplikacije, a ne izvorna IPv4 ruta, i ta razlika odlučuje šta će raditi, a šta ne. Miješanje to dvoje je način na koji laptop završi opisan kao da ima IPv4 povezanost kad sve što ima jest proxy.
Dva socketa, dvije porodice adresa
SOCKS5 zahtjev imenuje odredište u jednom od tri oblika: doslovna v4 adresa, doslovna v6 adresa ili ime koje proxy treba razriješiti. Zahtjev opisuje gdje se proxy treba povezati, a ne kako izgleda veza klijent-prema-proxyju.
Čitajte te tipove adresa kao tri nezavisna izbora unutar jedne poruke. Proxy dostupan preko IPv6 može otvoriti socket odredišta IPv4 kad god ima ispravan IPv4 izlaz i njegova politika dopušta zahtjev. Specifikacija SOCKS5 definira ih bez ikakvog osvrta na klijentov transport.
Kontrolirani primjer sa SSH-om
Uzmite SSH host koji smijete koristiti, koji odgovara na IPv6 i sam može dosegnuti HTTPS uslugu koja postoji samo na v4. OpenSSH dinamičko prosljeđivanje postavlja lokalni SOCKS slušalac na vaše računalo dok prijavna sesija ide preko v6.
ssh -6 -N -D 127.0.0.1:1081 -o ExitOnForwardFailure=yes [email protected]Host i račun iznad su primjeri, a loopback vezanje drži slušalac na ovom računalu. Ne zamjenjujte ga vezanjem na sve adrese da bi ured mogao dijeliti neautentificirani proxy. ExitOnForwardFailure=yes postoji da neuspjelo prosljeđivanje završi sesiju umjesto da ostavi tihu naredbu kako radi u pozadini.
Dok sesija radi, zahtjev izgleda ovako:
curl --proxy socks5h://127.0.0.1:1081 https://v4-only.example/Loopback veza nije IPv4 internetska ruta. Ono što napušta vaše računalo jest prijavna sesija preko v6, a udaljena strana otvara socket odredišta. Oblik socks5h također prepušta razrješavanje imena toj strani, što je važno kad klijent nema vlastitu IPv4 rutu do razrješivača.
Što odredište zapravo vidi
Odredište vidi izlaznu adresu posrednika. Nijedna adresa koja pripada vašem laptopu tamo se ne pojavljuje. Popis dopuštenih izvora na toj usluzi mora navesti posrednika. I njezini će zapisi pripisati promet posredniku. Zapišite to u evidenciju promjena prije revizije, jer popis dopuštenih izgrađen oko adresa klijenata pada na prvom zahtjevu.
Posrednik je i mjesto gdje su vidljive dvije polovice razgovora, što je korisno svojstvo tijekom dijagnoze i odgovornost ako se posrednik dijeli bez politike.
Ovo nije DNS64 ni NAT64
DNS64 odgovara sintetiziranim zapisima koji zamjenjuju v4 odredišta, a NAT64 prepisuje pakete duž konfigurirane rute. Nijedno ne opisuje ono što se ovdje događa, gdje jedan transportni razgovor završava i drugi počinje i nikakva sintetizirana adresa ne objašnjava rezultat. Uspješan zahtjev stoga ne govori ništa o tome koje usluge prevođenja vaš pružatelj pokreće, a proxy može izvoditi običan NAT na vlastitom izlazu.
Oba mehanizma mogu postojati u istoj mreži, pa opišite onaj koji ste stvarno provjerili, a ne onaj koji zvuči najbliže.
Znajte opseg prije nego što ga obećate
OpenSSH dinamičko prosljeđivanje prenosi TCP veze, ne proizvoljan IP promet, pa UDP, ICMP i svaki protokol koji ignorira proxy trebaju drugačiji podržani dizajn. Čuvajte provjeru ključa SSH hosta, ograničenja prosljeđivanja na poslužitelju i provjeru HTTPS certifikata, jer je proxy dodatni pouzdani sudionik, a ne razlog za slabljenje provjera identiteta. Ako je cilj prenijeti vanjski transport VPN-a kroz proxy, provjerite da ga oba kraja podržavaju umjesto da pretpostavite da ga svaki SOCKS slušalac može preusmjeriti.
Ništa od ovoga ne čini klijenta dvojnim stogom i ništa od toga ne treba. To čini da jedna aplikacija dosegne jednu uslugu kroz jednog posrednika, što je manja tvrdnja i mnogo lakša za provjeru.