Místní sdílení Samba zmizelo poté, co OpenVPN protlačil DNS
Protlačený resolver odpovídá na jména, která nevlastní, a Samba mu věří. Zkontrolujte resolver, pořadí vyhledávání a příponu v tomto pořadí.
Samba ztrácí místní sdílení ve chvíli, kdy se OpenVPN připojí, a tunel téměř nikdy není příčinou. Připojení je v pořádku, NAS běží a resolver, který tunel nainstaloval, odpovídá na dotazy na jméno, které nikdy neviděl. Samba se tohoto resolveru ptá brzy ve svém pořadí vyhledávání, věří odpovědi a připojuje se na adresu, kde nic neposlouchá. Opravit sdílení znamená opravit odpověď, ne připojení.
Pět kontrol, v pořadí, které na každém kroku vyloučí nejvíce možností.
Kdo odpovídá za krátké jméno
Ptejte se operačního systému, ne správce souborů. resolvectl status vypíše servery DNS připojené ke každému rozhraní a označí, které je výchozí cestou, a dotaz na krátké jméno oznámí server, který odpověděl. Spusťte ho jednou pro jméno NAS a jednou pro jméno, o kterém víte, že v doméně kanceláře existuje. Pokud obě odpovědi přicházejí z různých serverů, našli jste rozdělení.
Zkontrolujte, zda odpovědí byla negativní odpověď, nebo adresa. Negativní odpověď znamená, že Samba měla přejít na jiný mechanismus, a závada je jinde. Adresa znamená, že se Samba připojila na skutečné místo a nic nedostala.
Proč Samba věří špatné odpovědi
Samba překládá jména pevnou posloupností nastavenou name resolve order. Na většině distribucí výchozí hodnota obsahuje host, tedy DNS, a běží před mechanismy jen pro místní síť, jako je NetBIOS broadcast. Tunel, který protlačí resolver, tak dostane právo prvního odmítnutí u každého jména sdílení, včetně jednoznačkových jmen, která nikdy neměla opustit budovu.
Normálně neznámé jméno vrátí negativní odpověď a další mechanismus dostane slovo. Některé resolvery, zejména u spotřebitelských ISP a veřejné, odpovídají na neznámá jména vyhledávací stránkou nebo reklamní adresou. Taková odpověď vypadá pro knihovnu resolveru jako úspěch, takže Samba přestane hledat a vytočí adresu, která s vaší sítí nemá nic společného.
Výsledkem je sdílení, které zmizí bez dialogu chyby. Nic v této posloupnosti není porucha směrování VPN, proto ping na NAS stále funguje, zatímco procházení k němu ne.
Dvě opravy s různým rozsahem
Úzká oprava zachová protlačený resolver a změní, na co se ho Samba smí ptát. Přidejte dva řádky do konfigurace Samby, kterou démon skutečně čte, a poté restartujte službu:
[global]
name resolve order = wins lmhosts bcast
dns proxy = noBez host v tomto seznamu je DNS mimo cestu pro vyhledávání sdílení a jednoznačková jména zůstávají v místním segmentu. Jména kanceláře se pro každý jiný program stále překládají normálně, protože to mění jen Sambu. Cenou je, že Samba už vůbec nemůže používat DNS, takže sdílení adresované plně kvalifikovaným jménem kanceláře se stává problémem.
Široká oprava odstraňuje příčinu: přestaňte protlačovat resolver, který odpovídá na jména, která nevlastní, nebo protlačte politiku rozděleného DNS, aby se k resolveru kanceláře dostaly jen přípony kanceláře. To je lepší dlouhodobá odpověď v řízené síti, protože chrání i prohlížeč a správce balíčků, ale vyžaduje administrativní přístup na straně serveru a klienta, který poslouchá protlačená nastavení.
Vyberte jednu záměrně. Změna resolveru mění překlad jmen pro všechny aplikace najednou, což je záznam o změně, ne úprava pro call podpory.
Přípona může vysvětlit všechno
Pokud klient protlačí i vyhledávací příponu, krátké místní jméno se před dotazem přepíše do domény kanceláře. Pak resolver vůbec nelže: byl dotázán slušně na jméno kanceláře a dal správnou odpověď. Přečtěte si dotázané jméno ve výstupu resolveru, abyste to odlišili od případu reklamní adresy, protože obě závady vypadají ve správci souborů stejně.
Oprava je zde buď použít plně kvalifikované místní jméno, nebo přidat pravidlo rozděleného DNS, které vlastní místní příponu. Ani jedno nevyžaduje sahat na Sambu.
Dokažte to po opětovném připojení
Otestujte tři jména v jedné relaci: místní sdílení krátkým jménem, hostitele kanceláře jménem a běžný web. Pokud první funguje a druhé se rozbije, oprava závadu přesunula, místo aby ji odstranila. Pokud se rozbije třetí, změna resolveru zašla dál, než bylo zamýšleno, a každé vyhledávání je teď podezřelé.
Potom tunel odpojte a znovu připojte a všechny tři zopakujte. Protlačené volby se znovu uplatňují při každém připojení, takže oprava, která existovala jen za běhu, může zmizet, aniž by se změnil konfigurační soubor. Zapište resolver, který vlastní každou příponu, a pořadí vyhledávání, které platí, a poznamenejte datum, protože další aktualizace klienta je při návratu tohoto problému zjevný podezřelý.
Pokud sdílení po všech pěti kontrolách stále selhává, zachyťte přesný dotaz a přesnou odpověď, než změníte cokoli jiného. Tato dvojice řádků rozlišuje závadu resolveru od jména, které skutečně neexistuje, a je to nejrychlejší předávací poznámka, kterou můžete napsat.