გვერდი VPN-ის მეშვეობით იტვირთება, ზარი კი არასოდეს უკავშირდება: ორი სხვადასხვა ხარვეზი ერთსა და იმავე მისამართის ზოლში. გვირაბმა შეცვალა ის გზა, რომელსაც ბრაუზერი იყენებს; ის არ გახდა სიგნალიზაციის სერვისი, STUN სერვერი ან რელე და არ წყვეტს, რომელ კანდიდატთა წყვილს აირჩევს ICE. სწორედ თითოეული კომპონენტის საქმის გამიჯვნა აქცევს ბუნდოვან „WebRTC დაბლოკილია“ კონკრეტულ ხარვეზად.

ოთხი საქმე, რომელთაგან გვირაბს მხოლოდ ერთი ეხება

აპლიკაცია სესიის ინფორმაციას გაცვლის რაიმე სიგნალიზაციის წესით და ეს პირველი საქმეა. ICE აგროვებს კანდიდატ მისამართებს და ამოწმებს წყვილებს, სანამ ერთი არ იმუშავებს, და ეს მეორეა. STUN საშუალებას აძლევს პარტნიორს გაიგოს, როგორ გამოიყურება მისი ტრაფიკი გარედან, ხოლო TURN ანაწილებს რელეს იმ შემთხვევებისთვის, როცა პირდაპირი გზა არ არსებობს. ეს ოთხი როლი განსხვავებულია და VPN გავლენას ახდენს იმ მისამართებსა და ფილტრაციაზე, რომლებსაც ისინი ხვდებიან, ნაცვლად იმისა, რომ რომელიმე მათგანი მიაწოდოს.

ამიტომ წარმატებული შესვლა მედიის გზაზე არაფერს ამბობს. სიგნალიზაცია ჩვეულებრივ იმავე HTTPS-ით მიდის, რომელსაც გვერდი უკვე იყენებს, 443 პორტზე, მაშინ როცა მედია UDP-ით შეიძლება სრულიად სხვა დანიშნულებისკენ წავიდეს.

კერძო მისამართება დაბნეულობას აძლიერებს. გვირაბის მისამართი პარტნიორისთვის მხოლოდ მაშინ არის სასარგებლო, როცა მას იქით უკან დასაბრუნებელი განზრახული გზა აქვს; კერძოობა ურთიერთმისაწვდომობის მტკიცებულება არ არის და ბრაუზერები ასეც არ განიხილავენ, როცა ვერ შესამოწმებელ კანდიდატებს აგდებენ. კანდიდატი, რომელიც თქვენთვის ლოკალურად გამოიყურება, მეორე მხრიდან შეუმოწმებელი შეიძლება იყოს. ღირს ამ უფსკრულის გამორიცხვა, სანამ დაასკვნით, რომ გვირაბი მედიას ყრის.

შეადარეთ VPN გასასვლელი TURN რელეს

ორივე პაკეტებს გადასცემს, ამიტომაც ურევენ მათ, და ზემოთ მოცემული შედარების ცხრილი სვეტ-სვეტ უნდა იკითხებოდეს და არა როგორც ფუნქციათა სია. რელეს ანაწილება თითოეული სესიის ობიექტია, რომელიც დამოწმებული მოთხოვნით იქმნება; გვირაბი გზაა. ერთს ვადაგასული სერტიფიკატები აქვს, მეორეს პარტნიორის მისამართი, რომელიც ან მისაწვდომია, ან არა.

ComponentWhat it contributesWhat it needs to workWhat it cannot do
VPN exitChanges the observed mapping and the route packets takeA working tunnel and a policy that permits the media transportAllocate a relay or supply signaling
STUN serverReports the mapped address a peer appears to useReachability from the client, on its configured transportCarry media when a direct path fails
TURN serverRelays media through an authenticated allocationValid credentials, an allowed transport and sufficient capacityFix a missing ICE policy or an unauthorized client
Signaling channelCarries offers, answers and candidate listsBoth peers reaching the same application endpointEstablish connectivity by itself

პორტის ნომრები განსხვავებას ხელშესახებს ხდის. TURN ნაგულისხმევად 3478-ზე უსმენს UDP-ისა და TCP-ისთვის და 5349-ზე TLS-ისთვის, და ქსელი, რომელიც 443-ს უშვებს, მაგრამ ამ პორტებს ყრის, რელეურ ზარებს ჩააგდებს, მაშინ როცა დათვალიერება ჩვეულებრივ გრძელდება. VPN-ის პორტის შეცვლა ამათგან არაფერს აყენებს, რადგან მნიშვნელოვანი პორტები რელეს სერვისს ეკუთვნის და არა გვირაბს.

წაიკითხეთ დიაგნოსტიკა, შემდეგ გამოსცადეთ ზარი

ბრაუზერები საჭირო ინფორმაციას პაკეტების ჩაჭერის გარეშე აჩვენებენ. გახსენით თქვენი ბრაუზერის WebRTC დიაგნოსტიკის გვერდი, განახორციელეთ ზარი და წაიკითხეთ არჩეული კანდიდატთა წყვილი და არა შეგროვებული სია: რომელი ლოკალური და დისტანციური კანდიდატის ტიპები აირჩიეს, რომელი ტრანსპორტითა და მისამართების ოჯახით, და არის თუ არა გზა პირდაპირი თუ რელეური.

ორი წაკითხვა წინასწარ ღირს იცოდეთ. თუ არჩეული წყვილი კერძო მისამართებზე ჰოსტ-ჰოსტია, მედია რჩება გზაზე, რომელზეც მსჯელობა შეიძლება; თუ რელე-რელეა, ზარი რელეს სიმძლავრეს ხარჯავს და დამოკიდებულია ამ სერვისის ხელმისაწვდომობაზე. ხარვეზი, რომელიც „მოწმდება“ მდგომარეობაში ჩერდება არჩეული წყვილის გარეშე, ნიშნავს, რომ კანდიდატები შეგროვდა, მაგრამ არც ერთმა არ გაიარა კავშირუნარიანობის შემოწმებები.

შემდეგ შეადარეთ იგივე ორი ბოლო წერტილი იმავე ზარში, მხოლოდ ერთი დამტკიცებული პირობის შეცვლით, და შედეგი მიიღეთ ორმხრივი მედიის ან მონაცემების მიხედვით და არა „დაკავშირებული“ ინდიკატორის მიხედვით. კანდიდატების შეგროვება წარმატებით მთავრდება ბევრ შემთხვევაში, რომლებიც ხმის არც ერთ კადრს არ ატარებს. გაიმეორეთ ზარი ცვლილების მეორე მხარეს და შეინახეთ ორივე დიაგნოსტიკური ჩანაწერი, რადგან ორი გაშვების შედარება უფრო მეტს გვაუწყებს, ვიდრე რომელიმეს ცალკე წაკითხვა. იგივე ბოლო წერტილები, იგივე კოდეკი, ერთი შეცვლილი ცვლადი.

აპლიკაცია, რომელიც განზრახ ICE ტრანსპორტის პოლიტიკას relay-ზე აყენებს, მხოლოდ რელეს კანდიდატებს ითხოვს. ეს პარამეტრი რელეს არ ქმნის და არ ასწორებს დაკარგულ სერტიფიკატებს; ის მოთხოვნას ცხადს ხდის, რაც სასარგებლოა, როცა ვინმე VPN-ს ადანაშაულებს საიტის მიერ არჩეულ პოლიტიკაში.

შეინახეთ კონფიდენციალურობის მტკიცება იმდენად ვიწრო, რამდენადაც მტკიცებულებები

კანდიდატების გამჟღავნება დამოკიდებულია ბრაუზერისა და აპლიკაციის პოლიტიკაზე და არა მხოლოდ გვირაბის მდგომარეობაზე, ხოლო W3C-ის პარტნიორული კავშირის სპეციფიკაცია IP-ის მოპყრობას საკუთარ საკითხად განიხილავს. ამიტომ დაკავშირებული VPN სუსტი საფუძველია იმის დასაპირებლად, რომ ზარი მხოლოდ ერთ არჩეულ მისამართს ამჟღავნებს. ერთი და იმავე გვირაბის უკან მდგომმა ორმა პარტნიორმა შეიძლება ისეთი გზა აირჩიოს, რომელიც ჰოსტს არასოდეს ტოვებს, რაც ერთდროულად კონფიდენციალურობის გაუმჯობესება და კავშირის შეზღუდვაა.

რაც ზუსტად შეგიძლიათ თქვათ, უფრო ვიწრო და უფრო სასარგებლოა: რომელი კანდიდატთა წყვილი აირჩიეს, რომელმა ტრანსპორტმა გადაიტანა ის და დარჩა თუ არა ეს გზა გვირაბის შიგნით. ჩაწერეთ ეს სამი ფაქტი მომუშავე და წარუმატებელი ზარისთვის, და სხვაობა ჩვეულებრივ ასახელებს კომპონენტს, რომელიც უნდა გამოსწორდეს.

როცა კავშირი მუშაობს, გამოყავით წარმადობა ხელმისაწვდომობისგან. დანაკარგი, შეყოვნება, რიგები და MTU ყველა სწორი კანდიდატთა წყვილის ქვემოთა ნაწილშია და წყვეტილი ზარის კავშირის ხარვეზად მიჩნევა უმიზეზოდ გიბრუნებთ კანდიდატთა სიაში.

დაკავშირებული სტატიები