’n VPN-kliënt ping die lêerbediener, los sy naam op en kan steeds nie ’n deel oopmaak nie. Samba se gasheerbeleid is een van vier lae wat daardie verbinding kan weier, en dit is die een wat mense laaste wysig. Die toelatingslys word teen die bronadres geëvalueer wat smbd werklik ontvang, en dit is dalk nie die adres wat die kliënt dink hy het nie. Om daardie bron reg te kry, maak van ’n vae toestemmingsprobleem ’n konfigurasiewysiging van een reël.

Vier lae wat met dieselfde boodskap faal

’n Weiering kan van die roete, die gasheervuurmuur, die Samba-gasheerbeleid of die SMB-identiteit kom. Elke laag lewer ’n kliëntboodskap wat omtrent dieselfde sê, en daarom kos raaiwerk ’n middag. Om die kontroles van die netwerk inwaarts te orden, verwyder die meeste van die raaiwerk.

Begin met vervoer. As poort 445 die bediener nooit bereik nie, maak geen Samba-instelling saak nie, en ’n opname op die bedienerkoppelvlak beslis dit in sekondes. Volgende kom die gasheervuurmuur op die bediener self, wat ’n toegelate bron kan laat val voordat smbd dit ooit sien. Eers nadat daardie twee slaag, word die toelatingslys ’n kandidaat. Verifikasie kom laaste, want ’n aanmeldingsfout en ’n gasheerweiering lyk anders in die bedienerlog, selfs wanneer die kliënt albei as toegang geweier rapporteer. Die volgorde maak meer saak as die gereedskap, want elke laag het ’n opdrag wat dit antwoord.

Vind die bronadres wat smbd werklik sien

Met gerouteerde toegang sien die bediener gewoonlik die kliënt se adres uit die VPN-poel. Met bronvertaling op die gateway sien hy eerder die gateway se LAN-adres, en elke kliënt agter daardie gateway word ononderskeibaar.

Daardie verskil bepaal of ’n toelatingslys-inskrywing ’n beleid of ’n gat is. Om ’n vertaalde gateway-adres toe te laat, laat almal daaragter in, wat selde is wat ’n reël per kliënt bedoel het om uit te druk. Lees die bron by die bediener af eerder as uit die kliënt se eie idee van sy adres. ’n Opname op die bedienerkoppelvlak is die goedkoopste manier om dit te sien, en dieselfde opname bewys of die pakket hoegenaamd aangekom het. Beperk die opname met ’n pakkettelling en voeg ’n gasheerfilter by sodra jy weet watter kliënt jy volg. Die Samba-sittingtabel is die ander helfte van die antwoord: in smbstatus -b is die kliëntkolom van elke sittingry die eweknie wat smbd aangeteken het, en dit is die vinnigste bevestiging van die adres wat die diens werklik bereik het.

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

Lees die toelatingslys soos Samba dit lees

Die instelling hosts allow neem ’n lys adresse, netwerke of name, en dit kan globaal of binne ’n deel voorkom. Twee inskrywings wat vir jou gelykwaardig lyk, is dalk nie vir die ontleder gelykwaardig nie, so die doeltreffende konfigurasie is die ding om te ondersoek. Dit beteken die saamgevoegde siening eerder as die lêer wat jy toevallig gewysig het.

’n Illustratiewe paar voorvoegsels lyk soos die reël hieronder, en dit is ’n voorbeeld eerder as ’n vervanging van die inskrywings wat al daar is. Hou die administratiewe en toepassingskliënte wat vandag wettig verbind, en lees enige weierlys in dieselfde gang. Of ’n gasheer toegelaat word, hang van die beleid as geheel af, so toets die presiese kliënt eerder as om oor voorrang te redeneer. Gasheertoestemming sê ook niks oor deeltuestoestemming of lêerstelselmodusse nie, wat aparte hekke is. ’n Sukses van die toetsnutsgoed beteken die gasheerbeleid laat daardie bron toe, en niks verder nie.

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

Wysig die lêer wat ’n herlaai oorleef

Op ’n normale Linux-gasheer is die konfigurasiepad vas, en die diens lees dit weer met herbegin. Op ’n roeteerder of toestel word die lopende smb.conf dikwels by selflaai gegenereer, en ’n handwysiging verdwyn met die volgende herlaai. Gebruik die toestel se ondersteunde aanpassingsmeganisme, wat gewoonlik ’n eie konfigurasielêer is.

Die versoeking op hierdie punt is om alternatiewe firmware te flits omdat een draad gemeld het dat dit werk. Dit is ’n groot verandering vir ’n klein beleidsprobleem, en dit skuif die toestel buite sy ondersteunde toestand. Identifiseer eers die ondersteunde beheer, want die meeste toestelle bied die toelatingslys deur hul eie koppelvlak aan. As hulle dit werklik nie doen nie, is daardie beperking ’n argument vir ander hardeware eerder as vir ’n onondersteunde bou.

Teken aan watter lêer jy gewysig het en wat dit weer genereer, sodat die volgende persoon nie die diagnose herhaal nie.

Toets een toegelate en een uitgeslote kliënt

Toets albei uitkomste, nie net die een wat jy wou hê nie. ’n Toegelate kliënt wat verbind, bewys die wysiging werk; ’n uitgeslote kliënt wat steeds geweier word, bewys die reël het nie bloot alles oopgemaak nie.

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

Wanneer die verbinding smbd nooit bereik nie, lê die antwoord in roetering of in die bediener se vuurmuur. As die gasheer toegelaat word en die aanmelding misluk, is die identiteit die probleem, en om die toelatingslys weer te verbreed sal nie help nie. Hou diagnostiese uitvoer privaat, want ’n uitvoerige Samba-log kan deelpaaie en rekeningname blootlê. Wysig een laag per poging, anders sê die volgende resultaat vir jou niks.

Verwante artikels