OpenVPN სერვერის დამხმარე: ქსელი პლუს ნეტმასკა, არასოდეს CIDR
IPv4 სერვერის დამხმარე იღებს გასწორებულ ქსელსა და წერტილებიან მასკას, და არა CIDR სუფიქსს. შეამოწმეთ დიაპაზონი, დაადასტურეთ პული ჟურნალში, შემდეგ უსაფრთხოდ შეცვალეთ ზომა.
სერვერის სტრიქონი, რომელიც CIDR სუფიქსს წერტილებიან მასკასთან ურევს, დემონს აჩერებს მანამ, სანამ ის რომელიმე პორტს გახსნის. IPv4-ისთვის server დამხმარეს ორი ცალკე არგუმენტი სჭირდება: გასწორებული ქსელის მისამართი, შემდეგ კი ქსელის მასკა წერტილებიანი ფორმით. დანარჩენი ყველაფერი ამ სტრიქონზე ვარაუდია, და სწორედ ვარაუდში ცდება პულის ზომები და კლიენტების მასკები.
ორი არგუმენტი, რომელსაც დამხმარე იღებს
ჯერ ქსელი დაწერეთ, შემდეგ მასკა, მისამართზე არაფრის მიმაგრების გარეშე:
server 10.72.16.0 255.255.240.0ეს არის /20-ის ფორმა. ქვემოთ მოცემული სტრიქონი შეცდომაა და ის პარამეტრების ანალიზისას ჩავარდება, და არა გაშვების დროს:
server 10.72.16.0/20 255.255.240.0ამის გამართვისას ორი იდეა ცალკე გქონდეთ. პრეფიქსის სიგრძე და წერტილებიანი მასკა ერთსა და იმავე დიაპაზონს აღწერს, მაგრამ დამხმარე ორივეს ერთდროულად არ იღებს, და უარყოფილი სტრიქონი პარამეტრების შეცდომას იძლევა, რომელიც დირექტივას ასახელებს და არა არითმეტიკას.
მასკის აკრეფამდე ქსელი გაასწორეთ
პირველი მისამართი დიაპაზონის ქსელის მისამართია და არა მის შიგნით მოხერხებული კლიენტის მისამართი. /20-ისთვის დიაპაზონი 10.72.16.0-დან 10.72.31.255-მდე მიდის, და მათგან მხოლოდ პირველია ვალიდური ქსელის არგუმენტი. /21 იყენებს 255.255.248.0-ს და მოიცავს 10.72.16.0-დან 10.72.23.255-მდე, ამიტომ მისი სტრიქონი server 10.72.16.0 255.255.248.0 არის.
პრეფიქსის შეცვლა ცვლის დიაპაზონს და სხვა არაფერს. ის არ ცვლის, რამდენ მისამართს იღებს ერთი კლიენტი, რადგან ეს ტოპოლოგიის თვისებაა და არა ამ სტრიქონის მასკის.
დაადასტურეთ პული სერვერის მხრიდან
გაუშვით ინსტანსი წინა პლანზე დეტალური ჟურნალით და წაიკითხეთ ის სტრიქონები, რომლებსაც დამხმარე გამოსცემს. პული, რომელიც მან ააგო, გაშვებისას იბეჭდება, რაც უფრო საიმედოა, ვიდრე არითმეტიკის ხელით გამოთვლა:
openvpn --config /etc/openvpn/server.conf --verb 4 --dev tun9 --port 1195მოძებნეთ პულის შეჯამება გამოსავლის ზედა ნაწილში. ის ჩამოთვლის დიაპაზონს, რომელიც დამხმარემ დაიტოვა, და თუ ეს დიაპაზონი თქვენს განზრახვას არ შეესაბამება, სტრიქონზე არგუმენტები არასწორია, რაც არ უნდა თქვას მასკის არითმეტიკამ.
შემდეგ შეაერთეთ ერთი კლიენტი და იპოვეთ სტრიქონი, რომელიც მისთვის მიცემულ მისამართს აღრიცხავს. სწორედ ის ერთი მისამართი, პულის დიაპაზონის გვერდით, გეტყვით, დაჯდა თუ არა კლიენტი დაცულ ბლოკში, თუ იმ ადგილას, სადაც არ ელოდით. თუ ეს ორი არ ემთხვევა, არგუმენტები გაასწორეთ და არა კლიენტი. თუ ემთხვევა და კლიენტი მაინც ვერაფერს აღწევს, პული არასოდეს ყოფილა პრობლემა.
წაიკითხეთ კლიენტის მასკა ტოპოლოგიის გათვალისწინებით
კლიენტი, რომელიც გვირაბის ინტერფეისზე /30-ს აჩვენებს, გატეხილი პულის მტკიცებულება არ არის. წერტილიდან წერტილამდე მისამართების დროს თითოეული კლიენტი პატარა ბლოკს იღებს და მისი ინტერფეისის მასკა სწორედ ამ ბლოკს აღწერს, ხოლო სერვერის პული მთლიანობას ფარავს. ქვექსელის ტოპოლოგიის დროს კი კლიენტის მასკა პულის მასკას ემთხვევა. ამიტომ მხოლოდ მასკა გეტყვით, რომელი ტოპოლოგია მოქმედებს და არა ის, სწორად არის თუ არა დაწერილი პული.
დასკვნამდე მისვლამდე ერთად შეამოწმეთ კონფიგურირებული ტოპოლოგია და მინიჭებული მისამართი:
ip -4 addr show tun0თუ მისამართი პულის შიგნითაა და მასკა პულზე ვიწროა, ეს ტოპოლოგია ასრულებს თავის საქმეს. თუ მისამართი პულის გარეთაა, პული არასწორია, და კლიენტის მხრიდან არც ერთი შემოწმება არ გამოასწორებს.
მოქმედი პულის შეცვლა
აირჩიეთ დიაპაზონი, რომელიც არ ემთხვევა მიმდინარე პულს, LAN-ს ან კლიენტებისთვის უკვე გაგზავნილ ნებისმიერ მარშრუტს. გადაფარვა ის შეცდომაა, რომელიც გადარჩება გადატვირთვას და შემდეგ, დღეების შემდეგ, გამოვლინდება როგორც ერთი ადგილი, რომელიც ერთი მიმართულებიდან მიუწვდომელია.
შეცვალეთ სტრიქონი, გადატვირთეთ და ხელახლა წაიკითხეთ გაშვების პული, სანამ მომხმარებლებს დაუშვებთ. თუ ახალი დიაპაზონი რაღაცას ეჯახება, იგივე გაშვების გამოსავალი ამას მაშინვე აჩვენებს, და უკან დაბრუნება ერთი სტრიქონის რედაქტირებაა პლუს კიდევ ერთი გადატვირთვა.
შეინახეთ ძველი დიაპაზონი დაცულად გარკვეული დროის განმავლობაში ცვლილების შემდეგ. გვიან დაკავშირებულ კლიენტებს ჯერ კიდევ შეიძლება ჰქონდეთ მისამართი წინა პულიდან, და ახალი დიაპაზონი, რომელიც ამ მისამართებს ხელახლა იყენებს, ორმაგ გამოყოფებს ქმნის, რომლებიც მარშრუტიზაციის ხარვეზს ჰგავს. OpenVPN 2.6-ის სახელმძღვანელო აღწერს დამხმარის არგუმენტებს და მის გაფართოებას, რაც ღირს წაკითხვად, სანამ ივარაუდებთ, რომ დირექტივა იგივე აღნიშვნას იღებს, რასაც მისი მეზობელი.