Savienojums tikai IPv6, pakalpojums IPv4: ļaujiet SOCKS starpniekam to savienot
SOCKS starpniekserveris pieņem vienu savienojumu un atver citu, tāpēc klientam ar tikai IPv6 ir piekļuve IPv4 pakalpojumam. Tā ir pāradresācija, nevis vietēja IPv4 piekļuve.
Jums nav vajadzīga galamērķa adrešu saimes adrese, lai to sasniegtu, ja vien kaut kas ceļā ir gatavs pāradresēt. Lietotne pieslēdzas starpniekam, un starpnieks atver otru savienojumu ar galamērķi. Tie ir divi ligzdas ar neatkarīgām adrešu saimēm, un neviens protokols neprasa, lai tās sakristu. Tā ir lietotnes līmeņa pāradresācija, nevis vietējs IPv4 ceļš, un šī atšķirība nosaka, kas darbosies un kas ne. Abu sajaukšana ir iemesls, kāpēc klēpjdators tiek aprakstīts kā tāds, kam ir IPv4 savienojums, lai gan viss, kas tam ir, ir starpnieks.
Divas ligzdas, divas adrešu saimes
SOCKS5 pieprasījums nosauc galamērķi vienā no trim formām: burtiska v4 adrese, burtiska v6 adrese vai vārds, kas starpniekam jāatrisina. Pieprasījums apraksta, kur starpniekam jāpieslēdzas, nevis kā izskatās klienta savienojums ar starpnieku.
Lasiet šos adrešu tipus kā trīs neatkarīgas izvēles vienā ziņojumā. Starpnieks, kas sasniedzams caur IPv6, var atvērt IPv4 galamērķa ligzdu, ja tam ir strādājoša IPv4 izeja un tā politika atļauj pieprasījumu. SOCKS5 specifikācija tos definē, vispār neatsaucoties uz klienta transportu.
Kontrolēts SSH piemērs
Paņemiet SSH resursdatoru, kuru drīkstat izmantot, kas atbild uz IPv6 un pats var sasniegt HTTPS pakalpojumu, kas pastāv tikai uz v4. OpenSSH dinamiskā pāradresācija novieto lokālu SOCKS klausītāju jūsu mašīnā, kamēr pieteikšanās sesija iet caur v6.
ssh -6 -N -D 127.0.0.1:1081 -o ExitOnForwardFailure=yes [email protected]Iepriekš minētais resursdators un konts ir piemēri, un loopback saistīšana notur klausītāju šajā datorā. Neaizstājiet to ar aizstājējzīmes saistīšanu, lai birojs varētu koplietot neautentificētu starpnieku. ExitOnForwardFailure=yes pastāv tāpēc, lai neizdevusies pāradresācija beigtu sesiju, nevis atstātu fonā klusi darbojamies komandu.
Kad sesija darbojas, pieprasījums izskatās šādi:
curl --proxy socks5h://127.0.0.1:1081 https://v4-only.example/Loopback savienojums nav IPv4 interneta ceļš. Tas, kas iziet no jūsu mašīnas, ir pieteikšanās sesija caur v6, un galamērķa ligzdu atver tālā puse. Forma socks5h arī nodod vārdu izšķiršanu tai pusei, kas ir svarīgi, ja klientam nav sava IPv4 izšķirtāja ceļa.
Ko galamērķis patiešām redz
Galamērķis redz pāradresētāja izejas adresi. Tur neparādās neviena adrese, kas pieder jūsu klēpjdatoram. Avotu atļauto sarakstā šajā pakalpojumā ir jānorāda pāradresētājs. Tā žurnāli arī attiecinās datplūsmu uz pāradresētāju. Ierakstiet to izmaiņu reģistrā pirms audita, jo atļauto saraksts, kas veidots ap klientu adresēm, neizdodas pirmajā pieprasījumā.
Pāradresētājs ir arī vieta, kur redzamas abas sarunas puses, kas ir noderīga īpašība diagnostikā un nasta, ja pāradresētājs tiek koplietots bez politikas.
Tas nav DNS64 vai NAT64
DNS64 atbild ar sintētiskiem ierakstiem, kas aizstāj v4 galamērķus, un NAT64 pārraksta paketes pa konfigurētu ceļu. Neviens no tiem neapraksta to, kas notiek šeit, kur viena transporta saruna beidzas un sākas cita, un neviena sintētiskā adrese neizskaidro rezultātu. Tāpēc veiksmīgs pieprasījums neko nepasaka par to, kādus tulkošanas pakalpojumus jūsu pakalpojumu sniedzējs uztur, un starpnieks var savā izejā darbināt parastu NAT.
Abi mehānismi var pastāvēt vienā tīklā, tāpēc aprakstiet to, ko patiešām pārbaudījāt, nevis to, kas izklausās vistuvāk.
Ziniet apjomu, pirms to apsolāt
OpenSSH dinamiskā pāradresācija pārnēsā TCP savienojumus, nevis patvaļīgu IP datplūsmu, tāpēc UDP, ICMP un jebkuram protokolam, kas ignorē starpnieku, nepieciešams cits atbalstīts risinājums. Saglabājiet SSH resursdatora atslēgas pārbaudi, servera pāradresācijas ierobežojumus un HTTPS sertifikāta validāciju, jo starpnieks ir papildu uzticams dalībnieks, nevis iemesls vājināt identitātes pārbaudes. Ja mērķis ir pārnest VPN ārējo transportu caur starpnieku, pārbaudiet, vai abi gali atbalsta šo transportu, nevis pieņemiet, ka jebkurš SOCKS klausītājs to var pāradresēt.
Nekas no tā nepadara klientu par divkāršu steku, un tas nav vajadzīgs. Tas ļauj vienai lietotnei sasniegt vienu pakalpojumu caur vienu pāradresētāju, kas ir mazāks apgalvojums un daudz vieglāk pārbaudāms.