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. Прекин подолг од тие вредности го остава секој крај со различно разбирање на сесијата.
Репродуцирајте го во фиксен редослед за резултатот да значи нешто: поврзете го тунелот, отворете го споделувањето, прекинете го тунелот две минути, вратете го, па обидете се да прочитате датотека. Ако монтирањето само се опорави, оставете ги тајмерите на мир. Ако виси додека не монтирате повторно, поврзете го споделувањето повторно откако тунелот е подигнат наместо да го монтирате пред да постои, и проверете дали помошникот за монтирање се обидува повторно.
Зголемувањето на временските ограничувања е разумен последен чекор за нестабилна врска, но го лекува симптомот. Клиент што подолго чека сесија што серверот ја заборавил, сепак чека.
Завршете со читање на една датотека преку монтирањето, потоа уште еден прекин и враќање на тунелот. Тој приемен тест ги покрива сите три слоја одеднаш и е единствениот тест што одговара на она што корисникот навистина го прави.