SOCKS tarpinis serveris gali įkelti žinutes, bet nepavyksta skambučiuose
Remiantis Dante vadovu ir SOCKS5 UDP reikalavimais paaiškinama, kodėl veikiantis TCP kelias neįrodo programos skambučių srauto palaikymo.
Tekstinės žinutės ateina per SOCKS tarpinį serverį, bet balso skambutis niekada neprisijungia. Tarpinis serveris nebūtinai visiškai sugedęs. Programa skambučiams gali naudoti kitą transportą.
Sėkminga TCP užklausa įrodo tos operacijos TCP kelią. SOCKS5 taip pat apibrėžia UDP asociaciją, tačiau klientas, SOCKS paslauga, tinklo taisyklės ir programos nustatymai visi turi palaikyti numatytą UDP maršrutą.
Yra daugiau nei TCP klausytojas
Dante vadovas atskiria protokolo ir komandų taisykles, įskaitant connect, udpassociate ir udpreply. Taisyklė, leidžianti tik jau išbandytą TCP ryšį, nesukuria reikiamų UDP leidimų.
UDP asociacija taip pat apima perdavimo galinį tašką ir grįžtamąjį srautą. Užkardos ir adresų vertimas turi leisti būtent tą kelią. SOCKS TCP klausytojo atidarymas nelygu jo UDP perdavėjo pasiekiamumui.
Patikrinkite dabartinę programos tarpinio serverio dokumentaciją ir nustatymus. Skirtingos versijos gali skirtingai tvarkyti žinutes, mediją ir skambučius. Forumo recepto senam klientui nereikėtų pateikti kaip įrodymo, kad kiekvienas dabartinis klientas siunčia skambučius per SOCKS.
Pirmiausia nediagnozuokite atidarydami visus UDP portus. Nustatykite perdavėjo elgseną ir numatomą klientų apimtį, tada taikykite atitinkamą ribotą tinklo politiką. Taip pat skambučių tarpinio serverio nustatymo išjungimas gali priversti skambutį veikti siunčiant jį tiesiogiai, o tai keičia išorinį maršrutą, o ne taiso per tarpinį serverį einantį.
Dokumentuokite sėkmę pagal operaciją: žinutės, medijos perdavimas ir skambučiai. Viena veikianti užklausa ar pasikeitęs naršyklės IP neįrodo, kad kiekviena kitos programos dalis naudoja tą patį tarpinio serverio išėjimą.