რომელი VPN პორტები უნდა გავხსნათ firewall-ში: პროტოკოლი პროტოკოლის მიხედვით
PPTP-ს სჭირდება TCP 1723 და GRE, L2TP/IPsec-ს — UDP 500 და 4500 და ESP, ხოლო SSTP, OpenVPN და WireGuard-ს თითო პორტი. აი, რა უნდა გაიხსნას.
ორი ცალკე წესი წყვეტს, გადალახავს თუ არა VPN გვირაბი firewall-ს: პორტი, რომელზეც კლიენტი ურეკავს, და პროტოკოლი, რომელიც ტვირთს ატარებს. გახსენით მხოლოდ პირველი და გვირაბი ავთენტიფიკაციას გაივლის, შემდეგ კი მონაცემები არ გადაადგილდება. მინიმუმია ერთი TCP პორტი და GRE PPTP-სთვის, ორი UDP პორტი და ESP L2TP/IPsec-ისა და IKEv2-ისთვის, და ერთი პორტი SSTP-ის, OpenVPN-ისა და WireGuard-ისთვის. მიმართულება, მდგომარეობის თვალყურის დევნება და NAT წყვეტს დანარჩენს.
დაიწყეთ იმ პორტით, რომელზეც კლიენტი ურეკავს
თითოეულ ოჯახს აქვს შესვლის წერტილი, რომელსაც კლიენტი პირველად უკავშირდება, და სწორედ ეს შესვლის წერტილი უნდა დაასახელოს თქვენმა ნებართვის წესმა. PPTP კლიენტები უკავშირდებიან TCP 1723-ს. L2TP/IPsec იწყებს IKE-ს UDP 500-ზე და გადადის UDP 4500-ზე, როცა NAT-ის გავლა გამოიყენება, ხოლო თავად L2TP ჩარჩო UDP 1701-ზეა გვირაბის შიგნით. SSTP სესიას TLS-ში ახვევს TCP 443-ზე, IKEv2 მოლაპარაკებას აწარმოებს UDP 500-სა და 4500-ზე, OpenVPN ნაგულისხმევად იყენებს UDP 1194-ს, მაგრამ ხშირად გადააქვთ TCP 443-ზე, ხოლო WireGuard უსმენს UDP 51820-ზე.
| Family | Rule to add on the gateway | Typical mistake |
|---|---|---|
| WireGuard | UDP port from ListenPort, for the peer address | Assuming 51820 when the config says otherwise |
| OpenVPN | The configured UDP or TCP port, often 443 | Opening 1194 after the server moved |
| SSTP | TCP 443 limited to the gateway IP | Allowing 443 to any destination |
| IKEv2 | UDP 500 and UDP 4500, plus ESP | Allowing only 500 and losing NAT-T |
| L2TP/IPsec | UDP 500, 4500, ESP, and 1701 inside the tunnel | Exposing 1701 to the internet |
| PPTP | TCP 1723 and IP protocol 47 | Writing a rule for TCP 47 |
ეს რიცხვები მიიღეთ ნაგულისხმევ მნიშვნელობებად და არა ფიქსირებულ თვისებებად. WireGuard-ის ინტერფეისი იყენებს ნებისმიერ მოსმენის პორტს, რომელსაც მისი კონფიგურაცია აცხადებს, ხოლო OpenVPN სერვერი შეიძლება იჯდეს ნებისმიერ პორტზე, რომელიც ადმინისტრატორმა აირჩია. წესის დაწერამდე წაიკითხეთ სერვერის კონფიგურაცია, რადგან 1194-ისთვის გახსნილი firewall არაფერს აკეთებს 443-ზე გადატანილი სერვერისთვის.
მესამე სვეტია ის ადგილი, სადაც ცვლილების ბილეთების უმეტესობა ფუჭდება. წესი არსებობს, მაგრამ ის მიუთითებს არასწორ დანიშნულებაზე, არასწორ მიმართულებაზე ან არასწორ ტრანსპორტზე.
GRE და ESP პროტოკოლის ნომრებია, არა პორტები
GRE-სა და ESP-ს საერთოდ არ აქვთ პორტები, ამიტომ firewall-ის ის ფორმა, რომელიც მხოლოდ პორტის ნომრებს იღებს, ვერ გამოხატავს მათ. GRE არის IP პროტოკოლი 47, ESP კი IP პროტოკოლი 50, ორივე შედარებულია IP სათაურის პროტოკოლის ველით. TCP პორტ 47-ის სახით დაწერილი წესი არაფერს ემთხვევა, და ასე PPTP პოლიტიკა სწორად გამოიყურება და მაინც ყრის ყველა პაკეტს ხელის ჩამორთმევის შემდეგ.
სამომხმარებლო როუტერები ამას მალავს გამტარობის მოსანიშნი უჯრის უკან, რომელიც აყენებს პროტოკოლის წესს და GRE-ის შემთხვევაში — ნაკადის ასახვისთვის საჭირო NAT დამხმარეს. ნამდვილ firewall-ზე თქვენ თვითონ ამატებთ პროტოკოლს: ნება დართეთ IP პროტოკოლ 47-ს PPTP სერვერისკენ, ნება დართეთ IP პროტოკოლ 50-ს IPsec კარიბჭისკენ. სადაც პლატფორმა პროტოკოლის ველს არ გვთავაზობს, გამოსავალი ინკაფსულაციაა, ამიტომ IKEv2-ს შეუძლია UDP 4500-ზე დაბრუნება და ამიტომ OpenVPN და WireGuard ამ პრობლემას არასოდეს ხვდებიან.
სანამ კლიენტს დაადანაშაულებთ, შეამოწმეთ რას ემთხვევა წესი სინამდვილეში. კარიბჭეზე ნულზე გაჩერებული პაკეტების მთვლელი ამბობს, რომ წესი არასოდეს ამოქმედებულა, და კლიენტის მხარეს ხელახალი ინსტალაცია ამას ვერაფრით შეცვლის.
მიმართულება, მდგომარეობა და NAT პასუხს ცვლის
გარეთ მორეკავი კლიენტი და შიგნით მოსმენილი კარიბჭე სხვადასხვა მოთხოვნაა, და იგივე პორტების სია შეიძლება სწორი იყოს ერთი მიმართულებით და არასწორი მეორეთი. მდგომარეობის მქონე firewall თვალს ადევნებს UDP ნაკადს 500-სა და 4500-ზე და პასუხებს უკან უშვებს მეორე წესის გარეშე. ESP და GRE პორტებს არ ატარებენ, ამიტომ NAT მოწყობილობას დასაჭერი არაფერი აქვს და სესიის მისაყოლებლად დამხმარე ან ინკაფსულაცია სჭირდება.
NAT-ის გავლა სწორედ ის ნაწილია, რომელიც გამოტოვებულია. IKEv2 იწყება UDP 500-ზე, ამოიცნობს NAT მოწყობილობას და აგრძელებს UDP 4500-ზე, ამიტომ მხოლოდ 500-ის ნების დამრთავი პოლიტიკა იძლევა გვირაბს, რომელიც დამყარდება და შემდეგ გაჩუმდება. L2TP/IPsec იგივე სვლას აკეთებს. თუ თქვენი ჩაწერა აჩვენებს პირველ გაცვლას, მაგრამ არა მუდმივ ტრაფიკს, მოძებნეთ წესი, რომელიც 500-ზე ჩერდება.
ჩაწერეთ მიმართულება ყოველ წესთან ერთად. „ნება დართე UDP 4500-ს“ არაფერს ნიშნავს, სანამ არ იტყვით საიდან სად, და მოძრავი კლიენტისთვის სწორი წესი ჩვეულებრივ არასწორია საიტ-საიტ პარტნიორისთვის.
ყოველი გზა შეამოწმეთ ჩაწერით
ჩაწერა გაუშვით კარიბჭეზე და არა კლიენტზე: კლიენტი მხოლოდ იმას წერს, რაც მოვიდა. ეს ფილტრები ფარავს ზემოთ მოცემულ ოჯახებს და აჩვენებს, რომელი ეტაპი აკლია:
sudo tcpdump -ni any tcp port 1723
sudo tcpdump -ni any udp port 500 or udp port 4500
sudo tcpdump -ni any proto gre
sudo tcpdump -ni any proto 50
გამოტანა წაიკითხეთ როგორც მიმდევრობა. როცა მოლაპარაკება ჩანს, მაგრამ ტვირთის პროტოკოლი არა, ჩამოგდება ხდება სადღაც კლიენტსა და კარიბჭეს შორის. როცა ორივე ჩანს და გვერდი მაინც ვერ იხსნება, firewall აღარ არის ეჭვმიტანილი; შეხედეთ მარშრუტიზაციას, DNS-ს ან კლიენტისთვის მიცემულ მისამართების აუზს.
tcpdump-ის გარეშე მოწყობილობაზე იგივე მტკიცებულება ინტერფეისისა და წესების მთვლელებიდან მოდის. ბაიტები შემოდის, მაგრამ არ გადის გვირაბის ინტერფეისზე — ეს დაბრუნების გზაზე მიუთითებს და არა საწყის ნებართვის წესზე.
დატოვეთ წესების ნაკრები, რომლის დაცვაც შეგიძლიათ
TCP 443-ზე SSTP ვერ გავარჩიოთ ჩვეულებრივი HTTPS-ისგან არცერთი პორტზე დაფუძნებული ფილტრისთვის, და ეს არის მიზანი, როცა ქსელი მხოლოდ ვებ ტრაფიკს უშვებს. ამიტომაც 443-ის წესმა უნდა დაასახელოს კარიბჭე დანიშნულებად და არა მთელი ინტერნეტი. წაშალეთ დროებითი ნებისმიერიდან-ნებისმიერამდე წესები, როგორც კი გვირაბი იმუშავებს. ჩაწერეთ, რომელი წესი დაემთხვა, პროტოკოლის ნომერი სადაც არის, და მიმართულება, რათა შემდეგმა ადამიანმა მტკიცებულებიდან დაიწყოს.
ღრუბლოვანი წერტილიდან-საიტამდე კარიბჭეები არჩევანს თვალსაჩინოს ხდის: ჩამოტვირთული პროფილი იყენებს ან SSTP-ს 443-ზე, ან IKEv2-ს 500-სა და 4500-ზე, და უნდა გახსნათ მხოლოდ ის, რასაც პროფილი რეალურად ირჩევს. PPTP არ ღირს GRE-ის გამონაკლისი თანამედროვე ქსელში, რადგან მობილური ოპერატორები ხშირად ყრიან პროტოკოლ 47-ს თქვენი firewall-ის მიუხედავად. ბილეთის დახურვამდე დაადასტურეთ, რომ წესი ემთხვევა სერვერის კონფიგურაციის პორტს, პროტოკოლის ველი დაყენებულია იქ, სადაც ოჯახს სჭირდება, და დანიშნულება კარიბჭეა და არა ნებისმიერი მისამართი.