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

ჯერ დაადგინეთ კავშირის ტიპი

იმავე პარამეტრების ეკრანზე სულ მცირე სამი განლაგებაა. აპს შეუძლია გამოიყენოს VpnService ვირტუალური ინტერფეისის ასაგებად და ფლობდეს პროტოკოლსა და კერძო კონფიგურაციას, მათ შორის დისტანციური გასასვლელის გარეშე ლოკალურ ფილტრაციის აპს. Android-ს ასევე შეუძლია პლატფორმის IKEv2 პროფილის მიწოდება Ikev2VpnProfile-ის მეშვეობით, რომელიც API 30-დან ხელმისაწვდომია, სადაც პლატფორმა პროფილის უფრო დიდ ნაწილს ინახავს. ხოლო მომწოდებლის აპს შეუძლია წარმოადგინოს საკუთარი სერვერების სია და შიდად ააწყოს პარამეტრები.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

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

ჩაწერეთ მფლობელი და პროფილის არე

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

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

შეადარეთ მოთხოვნილი, მიღებული და გამოყენებული მდგომარეობა

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

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

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

adb shell ip addr show tun0
adb shell ip route show table all | head -40

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

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

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

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

დაწერეთ მხარდაჭერის ჩანაწერი საიდუმლოების გამოვლენის გარეშე

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

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

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

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