Прослеђивање SMB саобраћаја није исти посао као његово завршавање, а рутер који ради једно можда не савладава друго. Прослеђивање значи да рутер преноси пакете чији садржај никада не анализира. Монтирање значи да рутер постаје клијент за датотеке, са софтвером који можда не испоручује, акредитивима које мора да заштити и режимима отказа који су сада његови. Избор између два је питање где су датотеке потребне, а не шта се може наговорити платформа за рутирање да инсталира.

Прослеђивање и завршавање су различити послови

У улози прослеђивања рутер има једну одговорност: да доставља пакете између клијента и сервера примењујући политику коју пут захтева. Он се не аутентификује на дељеном ресурсу, не кешира податке датотека и не занима га да ли сервер говори SMB2 или SMB3, јер никада не чита тако дубоко у ток. Ако ресурс постане недоступан, корисник види грешку, а рутер наставља да рутира.

У улози клијента рутер се укључује у разговор протокола. Он преговара о дијалекту, аутентификује се, разрешава имена, држи тачку монтирања и приказује локални приказ датотечног система свему што ради изнад њега. То је стварна услуга са животним циклусом и претвара пролаз у зависност радног тока датотека. Он наслеђује и све режиме отказа те зависности, укључујући чекања при подизању и застареле акредитиве.

Поређење није само о способности. Платформа која може да монтира дељени ресурс није аутоматски платформа која би то требало да ради, а платформа која не може да монтира ниједан можда је ипак право место за рутирање саобраћаја.

Шта заправо захтева монтирање CIFS у језгру

На уређају са Linux-ом клијент CIFS у језгру и клијент у корисничком простору су одвојене способности, а мале слике често не садрже ниједну. Подршка језгра мора да буде у слици која ради, помоћник за монтирање мора да постоји, а дијалект SMB договорен са сервером мора да буде онај који прихватају обе стране. То описује водич за клијент CIFS на Linux-у, односно уређење језгра и његове опције монтирања, и то је прави извор пре него што претпоставите да га градња произвођача садржи.

Проверите способност пре него што пројектујете око ње, и проверите верзију, а не присуство имена команде. Име модула у списку пакета није исто што и клијент који ради.

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

Модул језгра који се учитава и алатка у корисничком простору која извештава верзију још не гарантују да ће монтирање преживети обнову кључева VPN, зато проверу третирајте као почетни услов, а не као доказ. Ако слика испоручује само подршку за SMB1, то је разлог да се зауставите, а не разлог да је укључите на серверу.

Акредитиви и идентитет извора разликују се од оних на преносном рачунару

Прослеђени захтев носи идентитет преносног рачунара кроз тунел, док захтев настао на рутеру носи његову сопствену изворну адресу, путању резолвера и филтрирање излаза. Они могу да заврше у другом правилу заштитног зида, другом приказу DNS-а и другом списку дозвољених на страни сервера. Зато копија која ради са радне станице ништа не доказује о сопственом монтирању рутера. Тестирајте монтирање из сопствене шкољке рутера, а не са радне станице иза њега.

Дајте рутеру уско овлашћен идентитет услуге ако је улога уопште одобрена. Никада не стављајте лозинку директно у командну линију монтирања, јер остаје у историји шкољке и појављује се у табели процеса док монтирање ради.

Чувајте акредитиве кроз заштићени механизам платформе и читајте их из датотеке са ограниченим дозволама. Та датотека треба да буде нечитљива за сваки налог осим за онај који извршава монтирање.

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

Чији је отказ када дељени ресурс нестане

Недостајући удаљени датотечни систем понаша се другачије од недостајуће путање. Монтирање може да блокира процесе који га додирују, може да не успе при подизању пре него што тунел постоји, а упис намењен серверу може да заврши на погрешном месту ако под тачком монтирања постоји локална фасцикла. То су откази складиштења које сада поседује мрежни тим, хтео он то или не. Нико се није сагласио са тим власништвом, али оно долази са монтирањем.

Пројектујте редослед подизања и опције монтирања око те реалности. Монтирање само за читање са кратким роком и документованим кораком опоравка лакше је бранити од монтирања за упис од ког зависи све остало. Потврдите да се тунел подиже пре него што било шта покуша да монтира, иначе ће прво подизање после нестанка струје да се заглави.

За значајну обраду датотека, или за све што податке даље реекспортује, одвојен домаћин обично даје јаснију границу власништва. Рутер наставља да рутира, а радни ток датотека добија машину која може да се рестартује без ношења мреже са собом.

Проверите одлуку према стварном задатку

Запишите ком задатку су датотеке потребне и где се тај задатак извршава. Ако је одговор радна станица, рутирајте дељени ресурс и зауставите се ту. Ако је одговор услуга на уређају, потврдите способност клијента, подржани дијалект и путању акредитива пре првог монтирања, па одлучите да ли је уређај заиста прави домаћин.

Проверите монтирани приказ и слободан простор са самог рутера, јер ће их тамо видети радно оптерећење. Поновите проверу после поновног повезивања, а не само после чистог подизања.

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

Монтирање које излистава датотеке али пријављује пун или само-за-читање датотечни систем већ вам је рекло са којим отказом ћете се срести у 2 сата ујутру. Потврдите и путању опоравка: чисто демонтирајте, спустите тунел, вратите га и монтирајте поново без рестартовања уређаја. Ако тај редослед сваки пут захтева сервисни случај, рутер је погрешно место за улогу клијента.

Повезани чланци