Den Tunnel steet. De Fileserver äntwert op e Ping iwwer d'Adress. Dann sëtzt mount.cifs mam Hostnumm eng Zäitchen do a mellt, den Host wier net erreechbar, an du fänks un, e VPN-Profil nei ze bauen, deen ni de Problem war. Ënner Linux léist glibc den Numm op, ier iergendeen SMB-Paket existéiert, an d'Reiefolleg an deem Resolver kann d'Ufro ophalen, ier DNS iwwerhaapt gefrot gëtt. Hei ass de Wee, deen ech ginn, ugefaange mam Befehl, deen ausgefall ass, an net mam Client.

Lies de Feeler op der richteger Plaz

Zwee Geschier ginn ënnerschiddlech Weeër zum selwechten Numm, an hire Vergläich kascht ee Befehl. getent geet duerch de konfiguréierten Nummendéngscht-Stack; host an dig froen DNS direkt a ignoréieren deen Stack. Wann d'direkt Ufro eng Adress zréckgëtt an getent näischt, dann ass den DNS-Server erreechbar an et ass deng Resolver-Konfiguratioun, déi feelt.

getent hosts fileserver.corp.example
host fileserver.corp.example 10.61.0.1
getent -s dns hosts fileserver.corp.example

Den drëtte Befehl ass den Entscheider: hien zwéngt d'DNS-Quell a spréngt de Rescht vum Stack. Wann hien funktionéiert an den einfachen getent net, hues du bewisen, datt d'Reiefolleg schold ass, net den Tunnel an net de Server.

D'hosts-Zeil ass eng Sequenz, déi fréi ophält

Den glibc-Resolver liest /etc/nsswitch.conf a geet den hosts:-Agank vu lénks no riets duerch. Vill Distributiounen liwweren eng Zeil, an där d'Multicast-Ufro fir d'éischt kënnt mat enger Aktioun fir fréi Zréckkommen dru. D'Aktioun ass keng Dekoratioun: wann mDNS “not found” äntwert, beendet [NOTFOUND=return] déi ganz Ufro, sou datt de Firmennumm ni un de Resolver geet, deen de VPN duerchgesat huet. Näischt loggt dat, well keng Ufro geschéckt gouf, déi de Resolver kéint ofleenen. Dofir schéngt de Mount ze hänken an mellt duerno en net erreechbaren Host.

cat /etc/nsswitch.conf | grep '^hosts:'
# illustrative repair: dns before the early-return action
hosts: files myhostname mdns4_minimal dns [NOTFOUND=return] wins mdns4

Setz DNS virun d'Aktioun fir fréi Zréckkommen, amplaz mDNS ze läschen, an ännere et iwwer Konfiguratiounsmanagement. Eng Handännerung iwwerlieft bis zum nächsten Image-Build, an dann kënnt dee selwechten Ticket vun enger anerer Maschinn, déi vun der Korrektur näischt weess.

E Resolver ass keng Sichdomän

Fir d'Opléisung muss den Numm och probéiert ginn. En onqualifizéierten Numm wéi fileserver gëtt eréischt fileserver.corp.example, wann eng Sichdomän un dat Interface hänkt, dat d'Ufro dréit. E VPN, deen en DNS-Server ouni Sichlëscht duerchsetzt, erzilt eng ganz bestëmmt Deelung: de vollqualifizéierten Numm gëtt opgeléist an all kuerzen Numm feelt.

Test béid Formen, ier du de Profil änderst, well déi zwou Feeler a verschidden Richtunge weisen. Op engem systemd-resolved-Host huet den Tunnel-Link seng eege Serveren a Routing-Domänen, dofir lies de Link an net d'global Datei.

resolvectl status
resolvectl query fileserver.corp.example
resolvectl dns
resolvectl domain

Wann d'Ufro engem Link zougeschriwwen gëtt, deen den Tunnel net dréit, dann feelt d'Routing-Domän, obwuel d'DNS-Adress do ass. Dat ass e Politikproblem an der resolved-Konfiguratioun, keen Routingproblem am Tunnel.

Container droen hir eege Kopie vun der Äntwert

E Container aus engem genereschen Image bréngt meeschtens eng fest resolv.conf mat. Resolverännerungen um Host erreechen en net, an d'Sichdomän och net, dofir feelt e Build-Job, deen eng Freigab iwwer den Tunnel mount, während dee selwechte Befehl ausserhalb vum Container funktionéiert. Gëff dem Container seng eegen DNS- a Sichastellungen an der Compose-Datei oder an de Run-Argumenter, net nëmmen am Hostprofil.

Préif am Container, ier du d'Image beschëllegs. Zwee Befehler widderhuelen déi ganz Diagnos a wéinege Sekonnen, an den zweeten beweist, wéi ee Resolver tatsächlech geäntwert huet.

Eréischt dann kucks du op d'Freigab an de Filter

Soubal den Numm opgeléist ass, sinn déi reschtlech Feeler gewéinlech Netzwierkfeeler. SMB brauch TCP 445 zum Server, an d'Duerchbliederen vun enger Aarbechtsgrupp-Lëscht hänkt vun Nummendéngschter of, déi den Tunnel wuel net weiderleet. Bind iwwer den Hostnumm, amplaz op eng gefëllte Lëscht ze waarden, a loos de Client soen, wéi eng Etappe hie erreecht huet. Eng ofgeleent Verbindung an en stille Timeout si wäert, getrennt ze ginn, well dat éischt meeschtens heescht, datt eppes geäntwert huet, an dat zweet, datt näischt et gemaach huet.

getent hosts fileserver.corp.example
nc -vz fileserver.corp.example 445
mount -t cifs //fileserver.corp.example/share /mnt/share \
  -o vers=3.1.1,username=svc_mount,uid=1000

Eng opgeléist Adress mat ofgeleentem oder ofgelafene Port 445 ass e Firewall- oder Listener-Problem op der anerer Säit. En net opgeléisten Numm ass de Resolverproblem. An e Mount, deen sech authentifizéiert awer Berechtegungsfeeler zréckgëtt, ass keent vun deenen zwee, also maach d'Netzwierkfro net nach eng Kéier op, wann d'Sessioun steet.

Hal d'Schlussfolgerung sou enk wéi d'Beweiser. Wann d'Adress funktionéiert an den Numm net, mécht den Tunnel seng Aarbecht, an d'Korrektur gehéiert an d'Resolver-Reiefolleg, d'Sichdomän oder d'Konfiguratioun vum Container selwer.

Ähnlech Artikelen