Zašto Samba odbija VPN klijente koji mogu doći do servera
VPN klijent može doći do Samba servera i ipak biti odbijen od hosts allow. Provjerite izvor koji smbd vidi i politiku na razini dijeljenja prije uređivanja.
VPN klijent pinga datotečni server, razrješava njegovo ime i ipak ne može otvoriti dijeljenje. Samba politika hostova jedan je od četiri sloja koji mogu odbiti tu vezu, i to je sloj koji ljudi uređuju posljednji. Popis dopuštenih adresa provjerava se prema adresi izvora koju smbd zapravo primi, a to možda nije adresa za koju klijent misli da je ima. Ispravno utvrđivanje tog izvora pretvara nejasan problem dopuštenja u promjenu konfiguracije od jednog retka.
Četiri sloja koja padaju s istom porukom
Odbijanje može doći od rute, host vatrozida, Samba politike hostova ili SMB identiteta. Svaki sloj stvara klijentsku poruku koja govori otprilike isto, zato nagađanje pojede poslijepodne. Poredak provjera od mreže prema unutra uklanja većinu nagađanja.
Počnite s prijenosom. Ako port 445 nikada ne stigne do servera, nijedna Samba postavka nije važna, a snimka na sučelju servera to rješava u sekundama. Zatim dolazi host vatrozid na samom serveru, koji može odbaciti dopušteni izvor prije nego što ga smbd uopće vidi. Tek nakon što ta dva prođu, popis dopuštenih postaje kandidat. Autentifikacija dolazi posljednja, jer neuspjela prijava i odbijanje hosta izgledaju različito u zapisniku servera, čak i kad klijent oboje prijavi kao odbijen pristup. Redoslijed je važniji od alata, jer svaki sloj ima naredbu koja mu odgovara.
Pronađite adresu izvora koju smbd zapravo vidi
U usmjerenom pristupu server obično vidi adresu klijenta iz VPN skupa. Uz prevođenje izvora na pristupniku umjesto toga vidi LAN adresu pristupnika, i svaki klijent iza tog pristupnika postaje nerazlučiv.
Ta razlika odlučuje je li unos na popisu dopuštenih politika ili rupa. Dopuštanje prevedene adrese pristupnika pušta svakoga iza njega, što pravilo po klijentu rijetko želi izraziti. Čitajte izvor sa servera, a ne iz klijentove predodžbe o vlastitoj adresi. Snimka na sučelju servera najjeftiniji je način da je vidite, i ta ista snimka dokazuje je li paket uopće stigao. Ograničite snimku brojem paketa i dodajte filtar hosta kad znate koji klijent pratite. Samba tablica sesija druga je polovica odgovora: u smbstatus -b stupac klijenta u svakom retku sesije jest partner koji je smbd zabilježio, i to je najbrža potvrda adrese koja je stvarno stigla do usluge.
sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'
Čitajte popis dopuštenih onako kako ga čita Samba
Postavka hosts allow prima popis adresa, mreža ili imena i može stajati globalno ili unutar dijeljenja. Dva unosa koja vama izgledaju istovjetno možda nisu istovjetna parseru, zato je djelotvorna konfiguracija ono što treba pregledati. To znači objedinjeni prikaz, a ne datoteku koju ste slučajno uredili.
Ilustrativni par prefiksa izgleda kao redak ispod, i to je primjer, a ne zamjena za unose koji već postoje. Zadržite administrativne i aplikacijske klijente koji se danas legitimno povezuju i pročitajte svaki popis zabrana u istom prolazu. Hoće li host biti prihvaćen ovisi o politici u cjelini, zato testirajte točnog klijenta umjesto da razmišljate o prvenstvu. Dopuštenje hosta također ne govori ništa o dopuštenjima dijeljenja ili načinima datotečnog sustava, koji su odvojena vrata. Uspjeh testnih alata znači da politika hostova prihvaća taj izvor i ništa više.
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
Promijenite datoteku koja preživljava ponovno pokretanje
Na običnom Linux hostu putanja konfiguracije je fiksna i usluga je ponovno čita pri ponovnom pokretanju. Na usmjerivaču ili uređaju pokrenuti smb.conf često se generira pri podizanju, a ručna izmjena nestaje pri sljedećem ponovnom pokretanju. Koristite podržani mehanizam prilagodbe uređaja, koji je obično vlastita konfiguracijska datoteka.
Napast je u ovom trenutku bljesnuti alternativni firmware jer je jedna tema izvijestila da radi. To je velika promjena za mali problem politike i izvodi uređaj iz njegovog podržanog stanja. Najprije utvrdite podržanu kontrolu, jer većina uređaja izlaže popis dopuštenih kroz vlastito sučelje. Ako to doista ne čine, to je ograničenje argument za drugi hardver, a ne za nepodržanu gradnju.
Zabilježite koju ste datoteku promijenili i što je ponovno stvara, da sljedeća osoba ne ponavlja dijagnozu.
Testirajte jednog dopuštenog i jednog isključenog klijenta
Testirajte oba ishoda, ne samo onaj koji ste željeli. Dopušteni klijent koji se poveže dokazuje da promjena radi; isključeni klijent koji je i dalje odbijen dokazuje da pravilo nije jednostavno otvorilo sve.
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
Kad veza nikada ne stigne do smbd, odgovor je u usmjeravanju ili u vatrozidu servera. Ako je host dopušten, a prijava ne uspije, problem je identitet i daljnje širenje popisa dopuštenih neće pomoći. Držite dijagnostički izlaz privatan, jer opširni Samba zapisnik može otkriti putanje dijeljenja i nazive računa. Mijenjajte jedan sloj po pokušaju, inače vam sljedeći rezultat neće reći ništa.