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

Пет провера, редом који на сваком кораку искључује највише могућности.

Ко одговара за кратко име

Питајте оперативни систем, не менаџер датотека. resolvectl status исписује DNS сервере повезане са сваком везом и означава која је веза подразумевана рута, а упит за кратко име пријављује сервер који је одговорио. Покрените га једном за име NAS-а и једном за име за које знате да постоји у домену канцеларије. Ако два одговора долазе са различитих сервера, пронашли сте поделу.

Проверите да ли је одговор био негативан одговор или адреса. Негативан одговор значи да је Samba требало да пређе на други механизам, а квар је негде другде. Адреса значи да се Samba повезала са стварним местом и није добила ништа.

Зашто Samba верује погрешном одговору

Samba разрешава имена кроз фиксни след који поставља name resolve order. На већини дистрибуција подразумевана вредност укључује host, што значи DNS, и извршава се пре механизама само за локалну мрежу, попут NetBIOS емитовања. Зато тунел који гура резолвер добија право првог одбијања за свако име дељења, укључујући имена са једном ознаком која никада нису требала да напусте зграду.

Обично непознато име враћа негативан одговор и следећи механизам добија ред. Неки резолвери, посебно код потрошачких ISP-ова и јавни, на непозната имена одговарају страницом за претрагу или рекламном адресом. Тај одговор библиотеци резолвера изгледа као успех, па Samba престаје да тражи и бира адресу која нема везе са вашом мрежом.

Резултат је дељење које нестаје без дијалога о грешци. Ништа у том следу није квар VPN рутирања, зато ping ка NAS-у још ради, а прегледање ка њему не.

Две поправке различитог обима

Уска поправка задржава гурнути резолвер и мења шта Samba сме да га пита. Додајте два реда у конфигурацију Samba коју демон заиста чита, затим рестартујте услугу:

[global]
   name resolve order = wins lmhosts bcast
   dns proxy = no

Без host на том списку DNS излази из пута за претрагу дељења, а имена са једном ознаком остају на локалном сегменту. Имена канцеларије се и даље нормално разрешавају за сваки други програм, јер ово мења само Samba. Цена је да Samba више уопште не може да користи DNS, па дељење адресирано пуним именом канцеларије постаје проблем.

Шира поправка уклања узрок: престаните да гурате резолвер који одговара на имена која не поседује, или гурните политику подељеног DNS-а тако да само суфикси канцеларије долазе до резолвера канцеларије. То је бољи дугорочни одговор у управљаној мрежи, јер штити и прегледач и менаџер пакета, али захтева административни приступ на страни сервера и клијента који слуша гурнута подешавања.

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

Суфикс може да објасни све

Ако клијент гура и суфикс за претрагу, кратко локално име се преписује у домен канцеларије пре него што буде упитано. Тада резолвер уопште не лаже: постављено му је поштено питање о имену канцеларије и дао је тачан одговор. Прочитајте упитано име у излазу резолвера да то разликујете од случаја са рекламном адресом, јер два квара изгледају идентично у менаџеру датотека.

Решење овде је или да користите потпуно квалификовано локално име, или да додате правило подељеног DNS-а које поседује локални суфикс. Ниједно не захтева додиривање Samba-е.

Докажите то после поновног повезивања

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

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

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

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