კლიენტი იტყობინება, რომ გვირაბი უკავშირდება, ping პასუხობს, შესვლის გვერდი იტვირთება, შემდეგ კი გადაცემა ყოველ ცდაზე ერთსა და იმავე წერტილში იყინება. ეს ნიმუში უკვე ბევრს ამბობს: ხელმისაწვდომობა მუშაობს, ხოლო მდგრადი გამტარობა არა. firewall-ის გახსნამდე გაარკვიეთ, მონაწილეობს თუ არა VPN საერთოდ ამ ხარვეზში. გაუშვით დიდი TCP იმავე კარიბჭეში გზაზე გვირაბის გარეშე; თუ ისიც იყინება, OpenVPN არასდროს ყოფილა ჩართული.

virtio ქსელური ბარათის მქონე pfSense სტუმარს ძალიან კარგი მიზეზი აქვს ზუსტად ამ ფორმით ჩავარდეს.

პატარა პაკეტები გადის, დიდი TCP ჩერდება

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

ამიტომ გამოსცადეთ კარიბჭე გვირაბის გარეშე. LAN-იდან WAN-ში ჩამოტვირთვა, რომელიც საკმარისად დიდია რამდენიმე წამს გასაშვებად, საკმარისია, და ის უნდა შესრულდეს ნებისმიერი პარამეტრის ცვლილებამდე, რომ შემდგომ შედარებას აზრი ჰქონდეს.

რას გპირდებათ offload სინამდვილეში

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

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

ერთი მოსანიშნი უჯრა ინარჩუნებს virtio-ს

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

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

გაზომეთ ღირებულება, რომელიც ახლახან მიიღეთ

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

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

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

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