SMB-liikenteen edelleenlähetys ei ole sama työ kuin sen päättäminen, eikä toista tekevä reititin välttämättä hallitse toista. Edelleenlähetys tarkoittaa, että reititin siirtää paketteja, joiden sisältöä se ei koskaan jäsennä. Liittäminen tarkoittaa, että reitittimestä tulee tiedostoasiakas, mukana ohjelmisto, jota se ei ehkä toimita, tunnistetiedot, joita sen on suojeltava, ja vikamuodot, jotka se nyt omistaa. Kahden väliltä valitseminen on kysymys siitä, missä tiedostoja tarvitaan, ei siitä, mitä reititysalustan saa suostumaan asentamaan.

Edelleenlähetys ja päättäminen ovat eri töitä

Edelleenlähetysroolissa reitittimellä on yksi vastuu: toimittaa paketit asiakkaan ja palvelimen välillä soveltaen sitä käytäntöä, jota polku vaatii. Se ei todista itseään jaolle, ei välimuistita tiedostodataa eikä välitä siitä, puhuuko palvelin SMB2:ta vai SMB3:a, koska se ei koskaan lue niin syvälle virtaan. Jos jako muuttuu tavoittamattomaksi, käyttäjä näkee virheen ja reititin jatkaa reitittämistä.

Asiakasroolissa reititin liittyy protokollan keskusteluun. Se neuvottelee murteen, todistaa itsensä, selvittää nimet, pitää liittämispisteen ja esittää paikallisen tiedostojärjestelmän näkymän kaikelle, mikä toimii sen päällä. Se on todellinen palvelu, jolla on elinkaari, ja se tekee yhdyskäytävästä tiedostotyönkulun riippuvuuden. Se perii myös kaikki tuon riippuvuuden vikamuodot, mukaan lukien käynnistyksen aikaiset odotukset ja vanhentuneet tunnistetiedot.

Vertailu ei ole vain kyvystä. Alusta, joka pystyy liittämään jaon, ei ole automaattisesti alusta, jonka pitäisi, ja alusta, joka ei pysty liittämään yhtään, voi silti olla oikea paikka reitittää liikenne.

Mitä ytimen CIFS-liittäminen todella vaatii

Linux-pohjaisessa laitteessa ytimen CIFS-asiakas ja käyttäjäavaruuden asiakas ovat erillisiä kykyjä, eivätkä pienet levykuvat usein sisällä kumpaakaan. Ytimen tuen on oltava käynnissä olevassa levykuvassa, liittämisapurin on oltava olemassa ja palvelimen kanssa neuvoteltava SMB-murre sellainen, jonka molemmat osapuolet hyväksyvät. Sitä kuvaa Linuxin CIFS-asiakkaan opas, joka selittää ytimen järjestelyn ja sen liittämisvalinnat, ja se on oikea lähde ennen kuin oletat toimittajan koosteen sisältävän sen.

Tarkista kyky ennen kuin suunnittelet sen varaan, ja tarkista versio eikä komennon nimen olemassaolo. Moduulin nimi pakettiluettelossa ei ole sama kuin toimiva asiakas.

lsmod | grep -w cifs
modinfo cifs | head -5
mount.cifs --version
smbclient -L //fs02.corp.internal -U svc-router -m SMB3

Latautuva ydinmoduuli ja version raportoiva käyttäjäavaruuden työkalu eivät vielä takaa, että liittäminen kestää VPN-avainten uusinnan, joten kohtele koetta lähtöehtona, älä todisteena. Jos levykuva toimittaa vain SMB1-tuen, se on syy pysähtyä, ei syy ottaa sitä käyttöön palvelimella.

Tunnistetiedot ja lähdeidentiteetti eroavat kannettavan vastaavista

Edelleenlähetetty pyyntö kuljettaa kannettavan identiteettiä tunnelin läpi, kun taas reitittimellä syntyvä pyyntö kuljettaa reitittimen omaa lähdeosoitetta, resolverin polkua ja lähtevän liikenteen suodatusta. Ne voivat päätyä eri palomuurisääntöön, eri DNS-näkymään ja eri palvelinpuolen sallittujen luetteloon. Työasemalta toimiva kopio ei siis todista mitään reitittimen omasta liittämisestä. Testaa liittäminen reitittimen omasta kuoresta, älä sen takana olevasta työasemasta.

Anna reitittimelle kapeasti valtuutettu palveluidentiteetti, jos rooli ylipäätään hyväksytään. Älä koskaan laita salasanaa suoraan liittämiskomentoriville, koska se jää kuoren historiaan ja näkyy prosessitaulussa liittämisen ajan.

Tallenna tunnistetiedot alustan suojatun mekanismin kautta ja lue ne tiedostosta, jolla on rajoittavat oikeudet. Sen tiedoston pitäisi olla lukukelvoton kaikille tileille paitsi sille, joka suorittaa liittämisen.

install -m 600 /dev/null /etc/cifs-reports.creds
printf 'username=svc-router\npassword=REPLACE_ME\ndomain=CORP\n' > /etc/cifs-reports.creds
mount -t cifs //fs02.corp.internal/reports /mnt/reports -o credentials=/etc/cifs-reports.creds,vers=3.1.1,ro

Kenen vika on, kun jako katoaa

Puuttuva etätiedostojärjestelmä käyttäytyy toisin kuin puuttuva reitti. Liittäminen voi estää prosesseja, jotka koskettavat sitä, se voi epäonnistua käynnistyksessä ennen kuin tunneli on olemassa, ja palvelimelle tarkoitettu kirjoitus voi päätyä väärään paikkaan, jos liittämispisteen alla on paikallinen hakemisto. Ne ovat tallennusvirheitä, jotka verkkotiimi omistaa nyt, halusi se niitä tai ei. Kukaan ei suostunut siihen omistukseen, mutta se tulee liittämisen mukana.

Suunnittele käynnistysjärjestys ja liittämisvalinnat tuon todellisuuden ympärille. Lyhyellä aikakatkaisulla ja dokumentoidulla palautusaskeleella varustettu vain luku -liittäminen on helpompi puolustaa kuin kirjoitettava liittäminen, josta kaikki muu riippuu. Varmista, että tunneli nousee ennen kuin mikään yrittää liittää, muuten ensimmäinen käynnistys sähkökatkon jälkeen jumittuu.

Merkittävään tiedostojen käsittelyyn tai mihin tahansa, joka vie dataa eteenpäin uudelleen, erillinen isäntä antaa yleensä selkeämmän omistusrajan. Reititin jatkaa reitittämistä, ja tiedostotyönkulku saa koneen, joka voidaan käynnistää uudelleen viemättä verkkoa mukanaan.

Tarkista päätös todellista tehtävää vasten

Kirjoita ylös, mikä tehtävä tarvitsee tiedostot ja missä se tehtävä ajetaan. Jos vastaus on työasema, reititä jako ja pysähdy siihen. Jos vastaus on laitteella toimiva palvelu, varmista asiakkaan kyky, tuettu murre ja tunnistetietojen polku ennen ensimmäistä liittämistä ja päätä sitten, onko laite todella oikea isäntä.

Tarkista liitetty näkymä ja vapaa tila reitittimestä itsestään, koska siellä työkuorma ne näkee. Toista tarkistus uudelleenyhdistämisen jälkeen, ei vain puhtaan käynnistyksen jälkeen.

findmnt -t cifs -o TARGET,SOURCE,OPTIONS
df -h /mnt/reports
ls -l /mnt/reports | head

Liittäminen, joka luettelee tiedostoja mutta raportoi täydestä tai vain luku -tiedostojärjestelmästä, on jo kertonut, mihin vikaan törmäät kello 2 yöllä. Varmista myös palautuspolku: irrota puhtaasti, laske tunneli alas, nosta se takaisin ja liitä uudelleen käynnistämättä laitetta. Jos tuo järjestys vaatii tukitapauksen joka kerta, reititin on väärä paikka asiakasroolille.

Aiheeseen liittyvät artikkelit