რატომ არასდროს იღებს კავშირებს CGNAT-ის უკან მდგომი VPN სერვერი
100.64 მისამართი, სხვაგან გადაწყვეტადი დინამიკური DNS სახელი და შემომავალი ხელის ჩამორთმევის არარსებობა ერთი პრობლემაა: ოპერატორის NAT. დაადასტურეთ და შემდეგ გამავალი ტრაფიკი რელეს გავლით გადაუშვით.
როუტერი იტყობინება WAN მისამართს, რომელიც იწყება 100.72-ით, დინამიკური DNS სახელი წყვეტს სხვა საჯარო მისამართზე, და ამ როუტერზე მდგარი VPN სერვერი არასდროს ასრულებს ხელის ჩამორთმევას გარედან. პორტების გადაგზავნა კონფიგურირებულია, სერვისი მუშაობს და LAN-იდან ტესტი კვლავ გადის. როუტერის ჟურნალში შეცდომის მსგავსი არაფერი ჩანს. ეს კომბინაცია ოპერატორის დონის NAT-ია და არცერთ ფაირვოლის წესს არ შეუძლია გახსნას პორტი მისამართზე, რომელსაც ISP ფლობს.
საერთო მისამართის დადასტურებას ორი წუთი სჭირდება და კონფიგურაციის ერთკვირიან ცვლილებებს აგებს.
ნიშნები, რომლებიც ოპერატორის NAT-ზე მიუთითებს
შეადარეთ როუტერის სტატუსის გვერდზე არსებული WAN მისამართი გარე მოთხოვნის მიერ მოხსენებულ მისამართს. WAN მისამართი 100.64.0.0/10-ის ფარგლებში ჩვეულებრივი ნიშანია, და კერძო დიაპაზონები 10/8, 172.16/12 და 192.168/16 იმავეს ნიშნავს. თუ traceroute იმავე საჯარო ნახტომს იმეორებს, ან ადრეული ნახტომი კერძო მისამართით პასუხობს, როუტერსა და ინტერნეტს შორის კიდევ ერთი მთარგმნელი ზის. ზოგი ISP გამოყოფილ მისამართს მხოლოდ მომხმარებლის პორტალში აჩვენებს, ამიტომ ექსპორტყავით ეს მნიშვნელობა traceroute-თან ერთად.
პროტოკოლების ან პორტების შეცვლა არ ეხმარება, რადგან პრობლემა შემომავალი ხელმისაწვდომობაა და არა დახურული პორტი.
რატომ ვერ გამოასწორებს ამას გადაგზავნა და დინამიკური DNS
პორტის გადაგზავნის წესი ასახავს პორტს როუტერის WAN ინტერფეისზე, მაგრამ შემომავალი ტრაფიკი ამ ინტერფეისამდე არასდროს აღწევს: ISP ჯერ თარგმნის მას და მხოლოდ იმას გადასცემს, რასაც მისი საკუთარი ცხრილი უშვებს. საერთო მისამართის დინამიკურ DNS-ში გამოქვეყნება კლიენტებს უხსნის ISP-ის კარიბჭეს, რომელსაც ბევრი აბონენტი იყენებს, ამიტომ სახელი წყდება, ხოლო ხელის ჩამორთმევა მაინც ვერ ხერხდება. Hairpin ტესტები წარმატებით სრულდება, რადგან როუტერი საკუთარ წესს შიგნიდან პასუხობს, და UPnP-ს ზუსტად იგივე ბრმა წერტილი აქვს.
კლიენტის გადაკონფიგურაციაც არ დაეხმარება, რადგან ხარვეზი ხდება მანამ, სანამ რომელიმე კლიენტის პარამეტრი წაიკითხება.
რელე VPS-ის გავლით ცხადი მარშრუტებით
წინ დააყენეთ საჯარო მისამართი ვიქირავოთ ყველაზე პატარა VPS, რომელსაც ტრაფიკის ტარება შეუძლია, შემდეგ აიძულეთ სახლის როუტერი გამავალი კავშირით მიმართოს მას. სახლის ქსელიდან გამავალი UDP ოპერატორის NAT-ს გადის, ამიტომ გვირაბი შიგნიდან აგება და VPS ხდება მისაწვდომი ბოლო წერტილი. სახლის მხარე ფიქსირებული გვირაბის მისამართის მქონე კლიენტი ხდება, არა სერვერი.
VPS-ზე დაამატეთ კლიენტისთვის სპეციფიკური კატალოგის ჩანაწერი, რათა სერვერმა იცოდეს, რომელ პარტნიორს ეკუთვნის სახლის ქვექსელი, და დაამატეთ შესაბამისი ბირთვის მარშრუტი.
# /etc/openvpn/server/ccd/home-site.conf ifconfig-push 10.8.0.10 255.255.255.0 iroute 192.168.50.0 255.255.255.0 # server.conf client-config-dir /etc/openvpn/server/ccd route 192.168.50.0 255.255.255.0 push "route 10.8.0.0 255.255.255.0"
iroute ხაზი ეუბნება OpenVPN-ს, რომელი კლიენტი იღებს სახლის ქვექსელის ტრაფიკს; route ხაზი ამ ქვექსელს VPS-ის ბირთვის ცხრილში დებს, რათა პაკეტები საერთოდ შევიდეს გვირაბში. გამოქვეყნებული სერვისისთვის დაამატეთ დანიშნულების NAT წესი, რომელიც საჯარო პორტს 10.8.0.10-ზე გადაამისამართებს, და ჩართეთ net.ipv4.ip_forward.
შეამოწმეთ გზა გარედან
შეამოწმეთ ყოველი ნახტომი საჯარო მხარეს, რადგან წარმატებული გვირაბი არ ამტკიცებს სერვისის მისაწვდომობას. VPS-ზე მოსმენის მდგომარეობა და პაკეტების დაჭერა ჰყოფს „არაფერი მოვიდა“ და „მოვიდა და გადააგდეს“ ერთმანეთისგან.
ss -lunp | grep 1194 tcpdump -ni any udp port 1194 nft list ruleset | grep -A4 dnat # from a phone on mobile data, not the home Wi-Fi nc -vz -u 203.0.113.10 1194
თუ დაჭერა აჩვენებს ტელეფონიდან პაკეტებს, მაგრამ პასუხი არ არის, შემდეგი გაჩერება სერვერის კონფიგურაცია ან ფაირვოლია. თუ დაჭერა არაფერს აჩვენებს, კლიენტი ჯერ კიდევ წყვეტს ან არასწორ მისამართზე აგზავნის.
ალტერნატივები, რომელთა ფასიც ჯერ უნდა შეფასდეს
ISP-ისგან გამოყოფილი IPv4 მისამართი ყველაზე მოკლე გადაწყვეტაა და ჩვეულებრივ მცირე თვიური გადასახადია. მშობლიური IPv6 აღმოფხვრის თარგმანს ორივე ბოლოში, როცა VPN, კლიენტის ქსელი და DNS ჩანაწერები ყველა მას ატარებს. სახლის ქსელში ქვექსელის როუტერის მქონე mesh ფენა იმავე რელეს აღწევს VPS-ის გარეშე, მაგრამ კოორდინაციის სერვისზე დამოკიდებულების ფასად.
აირჩიეთ რელე, როცა მოთხოვნა სტაბილური შემომავალი წვდომაა და ყოველი წესი თქვენს კონტროლში უნდა დარჩეს. აირჩიეთ ISP-ის მისამართი, როცა ბიუჯეტი იძლევა და მიზანი უბრალოდ ამაზე ფიქრის შეწყვეტაა.