VPN-klient pingib failiserverit, lahendab selle nime ja ei saa ikkagi jagatist avada. Samba hostipoliitika on üks neljast kihist, mis võivad selle ühenduse tagasi lükata, ja see on kiht, mida inimesed muudavad viimasena. Lubatud loendit hinnatakse lähteaadressi järgi, mille smbd tegelikult saab, ja see ei pruugi olla aadress, mille klient arvab endal olevat. Selle allika õige kindlakstegemine muudab ebamäärase õiguste probleemi üherealiseks konfiguratsioonimuudatuseks.

Neli kihti, mis ebaõnnestuvad sama sõnumiga

Keeldumine võib tulla marsruudilt, hosti tulemüürilt, Samba hostipoliitikalt või SMB identiteedilt. Iga kiht tekitab kliendile sõnumi, mis ütleb umbes sama, seepärast kulutab oletamine ühe pärastlõuna. Kontrollide järjestamine võrgust sissepoole kõrvaldab suurema osa oletustest.

Alustage transpordist. Kui port 445 ei jõua kunagi serverini, ei loe ükski Samba seade, ja püünis serveri liidesel lahendab selle sekunditega. Järgmisena tuleb hosti tulemüür serveris endas, mis võib lubatud allika kõrvale heita enne, kui smbd seda üldse näeb. Alles pärast nende kahe läbimist saab lubatud loend kandidaadiks. Autentimine tuleb viimasena, sest ebaõnnestunud sisselogimine ja hosti keeldumine näevad serveri logis erinevad välja, isegi kui klient teatab mõlemast kui juurdepääsu keelamisest. Järjekord on tähtsam kui tööriistad, sest igal kihil on käsk, mis sellele vastab.

Leidke lähteaadress, mida smbd tegelikult näeb

Marsruuditud juurdepääsu korral näeb server tavaliselt kliendi aadressi VPN-i poolist. Kui lüüsil on lähtemuundus, näeb ta selle asemel lüüsi LAN-aadressi, ja iga klient selle lüüsi taga muutub eristamatuks.

See erinevus otsustab, kas lubatud loendi kirje on poliitika või auk. Muudetud lüüsi aadressi lubamine laseb sisse kõik selle taga olijad, mida kliendipõhine reegel harva väljendada tahtis. Lugege allikat serverist, mitte kliendi ettekujutusest oma aadressist. Püünis serveri liidesel on odavaim viis seda näha, ja sama püünis tõestab, kas pakett üldse kohale jõudis. Piirake püünist pakettide arvuga ja lisage hostifilter, kui teate, millist klienti jälgite. Samba sessioonitabel on vastuse teine pool: väljundis smbstatus -b on iga sessioonirea kliendiveerg see peer, mille smbd salvestas, ja see on kiireim kinnitus aadressile, mis teenuseni tegelikult jõudis.

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

Lugege lubatud loendit nii, nagu Samba seda loeb

Säte hosts allow võtab aadresside, võrkude või nimede loendi ja võib esineda globaalselt või jagatise sees. Kaks kirjet, mis teile tunduvad samaväärsed, ei pruugi parseri jaoks samaväärsed olla, seega tuleb kontrollida just kehtivat konfiguratsiooni. See tähendab ühendatud vaadet, mitte faili, mida juhtusite muutma.

Illustreeriv prefiksite paar näeb välja nagu allolev rida, ja see on näide, mitte juba olemasolevate kirjete asendus. Jätke alles haldus- ja rakendusekliendid, mis täna seaduslikult ühenduvad, ja lugege kõiki keeluloendeid samas käigus. Kas host võetakse vastu, sõltub poliitikast tervikuna, seega testige täpset klienti, selle asemel et prioriteedi üle arutleda. Hosti luba ei ütle midagi ka jagamisõiguste ega failisüsteemi režiimide kohta, mis on eraldi väravad. Testimistööriistade õnnestumine tähendab, et hostipoliitika lubab seda allikat, ja mitte midagi enamat.

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

Muutke faili, mis jääb ümberkäivitusele vastu

Tavalisel Linuxi hostil on konfiguratsioonitee fikseeritud ja teenus loeb selle taaskäivitamisel uuesti. Ruuteril või seadmel genereeritakse töötav smb.conf sageli alglaadimisel, ja käsitsi tehtud muudatus kaob järgmisel taaskäivitamisel. Kasutage seadme toetatud kohandamismehhanismi, mis on tavaliselt omaette konfiguratsioonifail.

Kiusatus on selles punktis üle kirjutada alternatiivne püsivara, sest üks lõim teatas, et see töötab. See on suur muudatus väikese poliitikaprobleemi jaoks ja viib seadme selle toetatud olekust välja. Tehke esmalt kindlaks toetatud juhtimine, kuna enamik seadmeid näitab lubatud loendit oma liidese kaudu. Kui nad seda tõesti ei tee, on see piirang argument teise riistvara ja mitte toetamata ehituse kasuks.

Märkige üles, millist faili muutsite ja mis selle uuesti genereerib, et järgmine inimene diagnoosi ei kordaks.

Testige ühte lubatud ja ühte välistatud klienti

Testige mõlemat tulemust, mitte ainult seda, mida tahtsite. Ühenduv lubatud klient tõestab, et muudatus töötab; endiselt keelatud välistatud klient tõestab, et reegel ei avanud lihtsalt kõike.

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

Kui ühendus ei jõua kunagi smbd-ni, on vastus marsruutimises või serveri tulemüüris. Kui host on lubatud ja sisselogimine ebaõnnestub, on probleem identiteedis ja lubatud loendi laiendamine ei aita. Hoidke diagnostika väljund privaatsena, sest üksikasjalik Samba logi võib paljastada jagamiste teid ja kontode nimesid. Muutke üks kiht katse kohta, muidu ei ütle järgmine tulemus teile midagi.

Seotud artiklid