Routern som SMB-klient eller paketvidarebefordrare: vad som passar
Att vidarebefordra SMB-trafik och att montera den är två skilda roller. Kontrollera inloggningsuppgifter, kärnstöd och felhantering innan routern blir klient.
Att vidarebefordra SMB-trafik är inte samma uppgift som att avsluta den, och en router som gör det ena behärskar kanske inte det andra. Vidarebefordran innebär att routern flyttar paket vars innehåll den aldrig analyserar. Montering innebär att routern blir en filklient, med programvara den kanske inte levererar, inloggningsuppgifter den måste skydda och felmoder som nu är dess egna. Valet mellan de två handlar om var filerna behövs, inte om vad routingplattformen kan övertalas att installera.
Vidarebefordran och avslut är olika uppgifter
I vidarebefordrarrollen har routern ett ansvar: att leverera paket mellan klienten och servern medan den tillämpar den policy som vägen kräver. Den autentiserar sig inte mot delningen, cachar inga fildata och bryr sig inte om servern talar SMB2 eller SMB3, eftersom den aldrig läser så djupt in i strömmen. Om delningen blir oåtkomlig ser användaren ett fel och routern fortsätter att routa.
I klientrollen deltar routern i protokollets samtal. Den förhandlar en dialekt, autentiserar sig, löser namn, håller en monteringspunkt och presenterar en lokal filsystemsvy för allt som körs ovanpå. Det är en riktig tjänst med livscykel, och den gör gatewayen till ett beroende i filarbetsflödet. Den ärver också alla felmoder i det beroendet, inklusive väntetider vid start och inaktuella inloggningsuppgifter.
Jämförelsen handlar inte bara om förmåga. En plattform som kan montera en delning är inte automatiskt en plattform som borde göra det, och en plattform som inte kan montera någon kan fortfarande vara rätt ställe att routa trafiken.
Vad en CIFS-montering i kärnan faktiskt kräver
På en Linux-baserad enhet är CIFS-klienten i kärnan och en klient i användarutrymmet separata förmågor, och små avbildningar innehåller ofta ingen av dem. Kärnstöd måste finnas i avbildningen som körs, monteringshjälparen måste existera, och den SMB-dialekt som förhandlas med servern måste vara en som båda sidor accepterar. Det beskriver guiden för Linux CIFS-klienten, som förklarar kärnans uppbyggnad och dess monteringsalternativ, och det är rätt referens innan du antar att ett leverantörsbygge innehåller den.
Kontrollera förmågan innan du designar runt den, och kontrollera versionen framför att ett kommandonamn finns. Ett modulnamn i en paketlista är inte samma sak som en fungerande klient.
lsmod | grep -w cifs
modinfo cifs | head -5
mount.cifs --version
smbclient -L //fs02.corp.internal -U svc-router -m SMB3En kärnmodul som laddas och ett användarutrymmesverktyg som rapporterar en version garanterar fortfarande inte att en montering överlever ett VPN-nyckelbyte, så behandla provet som ett startvillkor, inte som bevis. Om avbildningen bara levererar SMB1-stöd är det skäl att stanna, inte skäl att aktivera det på servern.
Inloggningsuppgifter och källidentitet skiljer sig från dem på en bärbar dator
En vidarebefordrad begäran bär den bärbara datorns identitet genom tunneln, medan en begäran som skapas på routern bär dess egen källadress, resolvervägen och utgående filtrering. De kan hamna i en annan brandväggsregel, en annan DNS-vy och en annan tillåtelselista på serversidan. En kopia som fungerar från en arbetsstation bevisar därför ingenting om routerns egen montering. Testa monteringen från routerns eget skal, inte från en arbetsstation bakom den.
Ge routern en snävt auktoriserad tjänsteidentitet om rollen alls godkänns. Lägg aldrig ett lösenord direkt i monteringskommandoraden, eftersom det stannar i skalhistoriken och visas i processtabellen medan monteringen körs.
Lagra inloggningsuppgifterna via plattformens skyddade mekanism och läs dem från en fil med strikta rättigheter. Den filen bör vara oläsbar för alla konton utom det som kör monteringen.
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,roVem äger felet när delningen försvinner
Ett saknat fjärrfilsystem beter sig annorlunda än en saknad rutt. En montering kan blockera processer som rör den, den kan misslyckas vid start innan tunneln finns, och en skrivning avsedd för servern kan hamna på fel ställe om en lokal katalog ligger under monteringspunkten. Det är lagringsfel som nätverksteamet nu äger, vare sig teamet ville det eller inte. Ingen samtyckte till det ägandet, men det följer med monteringen.
Designa startordningen och monteringsalternativen runt den verkligheten. En skrivskyddad montering med kort tidsgräns och ett dokumenterat återställningssteg är lättare att försvara än en skrivbar montering som allt annat hänger på. Bekräfta att tunneln kommer upp innan något försöker montera, annars hänger den första starten efter ett strömavbrott.
För omfattande filbehandling, eller för något som återexporterar data vidare, ger en separat värd oftast en tydligare ägandegräns. Routern fortsätter att routa, och filarbetsflödet får en maskin som kan startas om utan att ta nätet med sig.
Kontrollera beslutet mot den faktiska uppgiften
Skriv ned vilken uppgift som behöver filerna och var den uppgiften körs. Om svaret är en arbetsstation, routa delningen och stanna där. Om svaret är en tjänst på enheten, bekräfta klientförmågan, den stödda dialekten och sökvägen för inloggningsuppgifterna före den första monteringen, och avgör sedan om enheten verkligen är rätt värd.
Kontrollera den monterade vyn och det lediga utrymmet från routern själv, eftersom det är där arbetslasten ser dem. Upprepa kontrollen efter en återanslutning, inte bara efter en ren start.
findmnt -t cifs -o TARGET,SOURCE,OPTIONS
df -h /mnt/reports
ls -l /mnt/reports | headEn montering som listar filer men rapporterar ett fullt eller skrivskyddat filsystem har redan berättat vilket fel du möter klockan 2 på natten. Bekräfta också återställningsvägen: avmontera rent, ta ned tunneln, få upp den igen och montera på nytt utan att starta om enheten. Om den sekvensen kräver ett supportärende varje gång är routern fel plats för klientrollen.