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

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

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

LineWho starts itWhat can block itQuestion for the provider
Outbound destinationYour applicationEgress filter on the exit nodeIs this protocol and port allowed to that destination?
Inbound publishingA remote peerNo mapping, no public address, short lifetimeWhich protocol, which external port, and how long does the mapping last?
Tunnel transportYour client to the gatewayThe access network drops that protocolDoes the client offer a fallback the local network permits?

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

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

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

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

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

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

ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://example.com

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

შიდა გამოქვეყნებას სჭირდება ასახვა, მისამართი და სიცოცხლის ხანგრძლივობა

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

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

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

ss -lntup | grep -E ':(8080|51820)\b'
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080

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

თავად გვირაბის ტრანსპორტი ცალკე კითხვაა

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

ClientOuter transportDefault portWhen it helps
OpenVPNUDP1194Default mode; needs outbound UDP to pass
OpenVPNTCP443UDP is dropped and TCP 443 is not
WireGuardUDP51820Short handshake; there is no TCP mode
IKEv2/IPsecUDP500 and 4500Mobile clients; 4500 carries NAT traversal

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

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

ping -M do -s 1400 203.0.113.10
ping -M do -s 1372 203.0.113.10

Windows-ში იგივე შემოწმებაა ping -f -l 1400 203.0.113.10. დააყენეთ გვირაბის MTU ყველაზე დიდ ზომაზე დაბლა, რომელიც გადის, შემდეგ კვლავ შეამოწმეთ ჩავარდნილი გადაცემა.

გადაამოწმეთ სამი ხაზი სანამ პლანს გადაიხდით

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

ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
ping -M do -s 1400 203.0.113.10

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

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

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