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

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

იპოვეთ გადამრთველი და მისი ფარგლები კლიენტში

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

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

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

აირჩიეთ სატყუარა დანიშნულება, რომელიც გვირაბის გარეშეც მუშაობს

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

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

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

შეასრულეთ გადასვლები ფიქსირებული თანმიმდევრობით

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

curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_exit=$?"
dig +short decoy.example
curl -6 -sS -o /dev/null -w 'v6_http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_v6_exit=$?"
TransitionExpected with the block onFailure signature
Manual disconnectDecoy stops answering within secondsDecoy still returns 200
Server or path failureBlocked, with no exemption for the old endpointDirect access during the gap
Quit the appClient-dependent; record what happensBlock disappears with the process
Wi-Fi to EthernetBlock holds until the tunnel returnsTraffic flows mid-change

აპიდან გასვლის სტრიქონი ცალკე გაშვებას იმსახურებს, თუნდაც ჩვეულებრივ გამოყენებაში კლიენტი არასოდეს დახუროთ. თუ ბლოკი გასვლისას იხსნება, კრაში ან იძულებითი განახლება იგივე ექსპოზიციას გაძლევთ, და ეს განლაგების ფაქტია და არა თქვენი მოთმინების. Windows-ზე ექვივალენტური ზონდებია Resolve-DnsName decoy.example და curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/.

გამოყავით ბლოკი გატეხილი რეზოლვერისგან

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

curl-ის გასვლის კოდები განასხვავებს ამ შემთხვევებს. 6 არის სახელის გარჩევის შეცდომა, 7 ნიშნავს კავშირის უარყოფას, 28 არის დროის ამოწურვა. დაბლოკილი მარშრუტი ჩვეულებრივ ვლინდება როგორც დროის ამოწურვა ან უარყოფა ლიტერალური მისამართის მიმართ, ხოლო მხოლოდ DNS-ის ბლოკი ტოვებს 6-ს და მალავს დანარჩენს. ქეშირებული გვერდი ან ქსელური შესვლის გვერდი თვალს ატყუებს, ამიტომ მტკიცებულება გასვლის კოდია და არა ეკრანი.

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

ჩაწერეთ ფარგლები, რომელსაც შედეგი ფარავს

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

ერთი გავლა ფარავს ერთი კლიენტის ვერსიას, ერთ პროფილს, ერთ გადასვლას და ერთ მისამართების ოჯახს, ამიტომ ეს ოთხი შედეგთან ერთად ჩაწერეთ.

  • კლიენტის ვერსია და პლატფორმა, და არის თუ არა პარამეტრი პროფილის მიხედვით თუ გლობალური.
  • პროფილი, პროტოკოლი და ნებისმიერი გაყოფილი გვირაბის გამორიცხვა.
  • შემოწმებული გადასვლა და როგორ გამოიწვიეთ ის.
  • მისამართების ოჯახები და DNS, curl-ის გასვლის კოდებით ბლოკირებულ და დაუბლოკავ მდგომარეობებში.

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

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