Prístup UNC v kontajneroch Windows: najprv názov, potom identita
Prieskumník na hostiteľovi nepreukazuje ani DNS cestu kontajnera, ani jeho identitu SMB. Pred riešením oprávnení skontrolujte vnútri kontajnera preklad názvov a port 445.
Kontajner Windows, ktorý potrebuje zdieľanú zložku na druhej strane tunela, zlyháva dvoma nezávislými spôsobmi a Prieskumník na hostiteľovi nepreukazuje ani jeden z nich. Kontajner má vlastný sieťový koncový bod a vlastnú identitu procesu. Názov, ktorý sa preloží na pracovnej ploche, a relácia, ktorú tam prijme súborový server, opisujú pracovnú plochu, nie pracovné zaťaženie.
Prieskumník na hostiteľovi nie je dôkaz
Otvorenie zdieľanej zložky na hostiteľovi používa DNS klienta hostiteľa, smerovaciu tabuľku hostiteľa a konto, pod ktorým je hostiteľ prihlásený. Proces kontajnera nič z toho implicitne nededia, aj keď kontajner beží na tom istom stroji a VPN klient tam beží tiež. Prvou hranicou je sieťová cesta: dokáže kontajner preložiť názov a dokáže otvoriť TCP reláciu na port SMB. Druhou je identita: prijíma súborový server to, čo kontajner predkladá, s oprávneniami, ktoré pracovné zaťaženie potrebuje.
Prístup k nim ako k jednému problému vytvára známu slučku rozširovania pravidiel firewallu, aby sa opravilo to, čo je v skutočnosti odpoveď o odopretom prístupe zo zdieľanej zložky.
Sledujte vlastnú požiadavku kontajnera
Sieť kontajnerov Windows spravuje Host Networking Service, ktorá vytvára koncové body s vlastným sieťovým menným priestorom. Zvolený režim určuje, či sa koncový bod prekladá, premosťuje alebo pripája k sieti zdieľanej s hostiteľom. Toto rozhodnutie mení dve veci naraz: čo kontajner dokáže preložiť a akú zdrojovú adresu vidí súborový server.
Pred akoukoľvek zmenou overte, čo pozoruje samotný kontajner. Názov, ktorý sa preloží vonku, môže vnútri zlyhať, pretože konfigurácia DNS kontajnera nie je konfiguráciou hostiteľa, a preložený koncový bod môže predložiť zdroj, ktorý pravidlá súborového servera neočakávajú.
docker exec -it app powershell -Command "Resolve-DnsName files.corp.example" docker exec -it app powershell -Command "Test-NetConnection files.corp.example -Port 445" docker exec -it app powershell -Command "Get-NetIPConfiguration"
Ak preklad zlyhá, opravte DNS v konfigurácii siete namiesto nahradenia adresy. Nahradenie názvu IP adresou môže zmeniť správanie overovania a identity servera, čo z jedného problému robí dva. Vlastná politika VPN klienta je ďalšia vec na kontrolu, pretože môže s procesmi hostiteľa a prevádzkou pochádzajúcou z kontajnera zaobchádzať odlišne.
Identita je samostatné rozhodnutie
Písmeno jednotky priradené interaktívnym používateľom nie je rozhranie aplikácie. Existuje v jednej prihlasovacej relácii a proces kontajnera do nej nepatrí. Použite cestu UNC a dajte pracovnému zaťaženiu identitu, ktorú model nasadenia podporuje. Kde to doména podporuje, skupinový spravovaný servisný účet (gMSA) poskytuje spravovanú identitu prostredníctvom špecifikácie prihlasovacích údajov.
Príručka Microsoftu k gMSA v kontajneroch opisuje toto usporiadanie špecifikácie prihlasovacích údajov a jeho predpoklady, medzi ktoré patrí členstvo v doméne a hostiteľ schopný získať údaje. Konto, získanie, identita procesu v kontajneri a oprávnenia k zdieľanej zložke musia všetky sedieť. Prihlásenie VPN nie je touto identitou a zapečenie hesla do obrazu, aby sa napodobnila relácia používateľa hostiteľa, vytvára trvalé ohrozenie.
Udržujte zlyhávajúcu fázu viditeľnou
Zlyhanie prekladu, odmietnutie spojenia a odopretie prístupu potrebujú rôzne dôkazy. Sú to postupne otázka DNS, otázka smerovania alebo filtrovania a otázka overovania alebo oprávnení. Čítajte odpoveď, ktorú kontajner dostal, nie všeobecnú chybu aplikácie.
Testujte s vlastnou identitou pracovného zaťaženia a otestujte aj odopretie.
Plánujte opätovné pripojenie
Cesty VPN padajú. Keď sa tunel vráti, koncový bod sa môže vrátiť s inou preloženou adresou a existujúca relácia SMB môže byť mŕtva bez toho, aby si to aplikácia všimla. Riešte to v aplikácii: obnovte cestu aj identitu, zopakujte operáciu a zosúlaďte súborovú operáciu s neznámym výsledkom namiesto predpokladu, že sa nič nestalo.
Zapíšte sieťový režim, zdroj DNS a usporiadanie identity do poznámok k nasadeniu. Práve o týchto troch faktoch bude nasledujúce zlyhanie.