SMB дељење не ради само преко VPN-а: потпис или сукоб подмрежа?
Дељење које ради на LAN-у може да закаже само кроз тунел. Раздвојите одбијање потписа, преклапајућу подмрежу и застарелу SMB сесију.
Мапирани диск који ради у канцеларији и истекне код куће не даје вам готово никакву корисну информацију сам по себи. Тунел очигледно преноси пакете, иначе ништа не би стигло до сервера. Оно што је заказало налази се у једном од три слоја: име се разрешило на погрешну адресу, клијент је одбио да потпише сесију или је стара сесија надживела везу која ју је носила. Сваки има другу поправку, а два од три су на страни клијента.
Три квара носе исту грешку
Слово диска не говори који се слој сломио, а текст грешке је обично довољно општи да одговара сва три. Раздвојите их са два брза питања: одговара ли сервер на својој IP адреси и прихвата ли порт 445 везу?
Ти одговори дају табелу одлука уместо нагађања. Ако IP ради, а име не, упућује на разрешавање имена. Ако обоје ради, а пријава је одбијена, упућује на потпис. Ако обоје ради, а читање датотеке виси након прекида тунела, упућује на застарелу сесију.
| Symptom | Layer to inspect |
|---|---|
| IP works, hostname times out | DNS or subnet overlap |
| TCP 445 opens, logon refused | SMB signing policy |
| Hangs after reconnect | Session state and timers |
Прођите их тим редом, јер име које се разрешава на погрешног хоста чини сваки каснији тест бесмисленим.
Разрешите име пре него што додирнете дељење
Ако сервер одговара на својој адреси, а име дељења истекне, тунел ради свој посао, а клијент тражи на погрешном месту. Код даљинског приступа два узрока објашњавају већину тога.
Први је преклапање адреса. Када канцеларија користи 192.168.70.0/24, а кућни рутер додељује исти распон, име хоста које се разрешава на 192.168.70.20 може да упућује на локални уређај уместо на сервер иза тунела. Windows тада може да пошаље захтев локално, одбије руту или га разреши на штампач који случајно има ту адресу. Поправка је пренумерација једне стране, не додавање друге руте.
Други је домет DNS-а. VPN адаптер без интерног DNS сервера или са оним који је недоступан кроз тунел пушта кратка имена на јавни резолвер. Прочитајте DNS записе адаптера и директно упитајте интерно име пре него што додирнете дељење:
> ipconfig /all | findstr /i "DNS Servers"
> nslookup files.corp.internal
Server: 10.90.0.2
Address: 10.90.0.2
Name: files.corp.internal
Address: 10.90.0.15
Ако тај упит врати очекивану адресу, разрешавање је решено, а проблем је више у стеку.
Прочитајте захтев за потписом на оба краја
Доступан сервер који одбија сваку пријаву знак је неусклађености правила, а не мрежног квара. Windows може да захтева SMB потпис на клијенту, а сервер или NAS који не потписује не може да доврши сесију, колико год тунел био здрав.
Поставку клијента можете прочитати без претраживања уређивача правила:
> Get-SmbClientConfiguration | Select-Object RequireSecuritySignature
RequireSecuritySignature
-------------------------
True
> Get-SmbConnection
Одговарајућа вредност на страни сервера налази се у SMB конфигурацији сервера и обе морају да се слажу. У једном пријављеном случају клијент је имао захтев укључен локалним правилом, док сервер уопште није потписивао; искључивање и покретање gpupdate /force одмах је вратило дељење. То је дијагностички корак за потврду узрока, не трајна поправка.
Преферирајте укључивање потписа на оба краја где сервер то подржава. Промену безбедносне поставке да би дељење радило треба забележити са претходном вредношћу и разлогом, како је нико не би морао поново да открива на следећем аудиту.
Очистите застарелу сесију пре подешавања тајмера
Дељење које виси само након што VPN падне и поново се повеже обично држи сесију коју је сервер већ одбацио. Сервер затвара неактивне SMB сесије према тајмеру Autodisconnect у LanmanServer\Parameters, који је стандардно 15 минута, док клијент има свој SessTimeout у LanmanWorkstation\Parameters. Прекид дужи од тих вредности оставља сваки крај с различитом представом о сесији.
Репродукујте га у фиксном редоследу да резултат нешто значи: повежите тунел, отворите дељење, прекините тунел на два минута, вратите га, па покушајте да прочитате датотеку. Ако се монтажа сама опорави, оставите тајмере на миру. Ако виси док не монтирате поново, поново повежите дељење након што је тунел подигнут уместо да га монтирате пре него што постоји, и проверите да ли помоћник за монтажу покушава поново.
Подизање временских ограничења разуман је последњи корак за нестабилну везу, али лечи симптом. Клијент који дуже чека сесију коју је сервер заборавио још увек чека.
Завршите читањем једне датотеке кроз монтажу, а затим још једним прекидом и враћањем тунела. Тај прихватни тест покрива сва три слоја одједном и једини је који одговара ономе што корисник заиста ради.