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

ოთხი ფენა, რომლებიც ერთი და იმავე შეტყობინებით ვარდებიან

უარყოფა შეიძლება მოვიდეს მარშრუტიდან, ჰოსტის firewall-იდან, Samba-ს ჰოსტ-პოლიტიკიდან ან SMB იდენტობიდან. თითოეული ფენა კლიენტს აძლევს შეტყობინებას, რომელიც დაახლოებით იმავეს ამბობს, ამიტომ გამოცნობა ნახევარ დღეს ჭამს. შემოწმებების ქსელიდან შიგნით დალაგება გამოცნობების უმეტეს ნაწილს აშორებს.

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

იპოვეთ წყაროს მისამართი, რომელსაც smbd რეალურად ხედავს

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

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

sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'

წაიკითხეთ ნებადართულთა სია ისე, როგორც Samba კითხულობს

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

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

hosts allow = 192.168.50.0/24 10.90.0.0/24
testparm -s
testparm -s /etc/samba/smb.conf client.example 10.90.0.14

შეცვალეთ ფაილი, რომელიც გადაურჩება გადატვირთვას

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

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

ჩაწერეთ, რომელი ფაილი შეცვალეთ და რა ქმნის მას ხელახლა, რომ შემდეგმა ადამიანმა დიაგნოზი არ გაიმეოროს.

შეამოწმეთ ერთი ნებადართული და ერთი გამორიცხული კლიენტი

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

smbclient -L //fileserver -U alice
sudo testparm -s /etc/samba/smb.conf alice-laptop 10.90.0.14
sudo tail -n 40 /var/log/samba/log.smbd

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

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