Tunnel-ku wuu shaqaynayaa. Server-ka faylka wuxuu ping uga jawaabaa ciwaanka. Kadib mount.cifs oo magaca host-ka wata ayaa halkaas fadhiya muddo yar oo sheegaya in host-ka aan la gaari karin, waxaadna bilaabaysaa inaad dib u dhisto profile VPN oo aan waligiis dhibaatada ahayn. Linux dhexdiisa magaca waxaa xalliya glibc ka hor inta aanay jirin wax packet SMB ah, nidaamka resolver-kaasna wuxuu joojin karaa raadinta ka hor inta DNS aan la weydiin. Waa tan wadada aan maro, oo ka bilaabanaysa amarka guuldareystay ee aan ka bilaabanayo macmiilka.

Akhri guuldareystaha meesha saxda ah

Laba qalab ayaa u mara waddooyin kala duwan isla magac, isbarbardhiggooduna wuxuu qaataa hal amar. getent wuxuu maraa stack-ga adeegga magacyada ee la habbeeyay; host iyo dig waxay DNS si toos ah u weydiiyaan oo ay iska dhega-wareeraan stack-kaas. Haddii weydiinta tooska ah ay soo celiso ciwaan oo getent waxba soo celin, server-ka DNS waa la gaari karaa oo habaynta resolver-kaaga ayaa guuldareysanaysa.

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

Amarka saddexaad waa go'aamiyaha: wuxuu ku qasbaa isha DNS oo uu boodaa inta ka hartay stack-ka. Marka uu shaqeeyo oo getent caadiga ah uusan shaqayn, waxaad caddeysay in khaladku ku jiro nidaamka, ma aha tunnel-ka iyo ma aha server-ka.

Khadka hosts waa nidaam hore u joogsada

Resolver-ka glibc wuxuu akhriyaa /etc/nsswitch.conf oo uu dhex maraa gelinta hosts: bidix ilaa midig. Qaybo badan ayaa soo dira khad ay raadinta multicast hore u timaaddo oo leh fal soo-noqosho hore oo ku lifaaqan. Falakaasi ma aha qurxin: marka mDNS uu ku jawaabo “not found”, [NOTFOUND=return] wuxuu joojiyaa raadinta oo dhan, sidaas darteed magaca shirkadda waligiis looma diro resolver-ka uu VPN-ku ku qasbay. Waxba ma diiwaangeliyaan tan, sababtoo ah wax weydiin ah lama dirin oo resolver-ku diidi karo. Taasi waa sababta mount-ku uu u muuqdo mid laalaadaysa kadibna uu sheegayo host aan la gaari karin.

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

DNS ka hor fal soo-noqosho hore ayay dhig, halkii aad tirtiri lahayd mDNS, oo ku beddel maareynta habaynta. Wax ka beddelka gacanta lagu sameeyay wuxuu noolaanayaa ilaa dhismaha image-ka xiga, kadibna tikitkaas oo kale wuxuu ka yimaaddaa mishiin kale oo aan xusuusaneyn hagaajinta.

Resolver ma aha domain raadin

Xallinta waxay sidoo kale u baahan tahay in magaca la tijaabiyo. Magac aan buuxin sida fileserver wuxuu noqdaa fileserver.corp.example kaliya marka domain raadin lagu lifaaqo interface-ka qaada weydiinta. VPN ku qasba server DNS oo aan lahayn liis raadin wuxuu abuuraa kala-qaybin aad u gaar ah: magaca si buuxda u qalma waa la xalliyaa oo magac kasta oo gaaban wuu guuldareystaa.

Tijaabi labada qaab ka hor inta aadan tafatirin profile-ka, sababtoo ah labada guuldareysto waxay tilmaamaan jihooyin kala duwan. Host systemd-resolved ah, xiriirka tunnel-ku wuxuu leeyahay serverro iyo domains marsiin u gaar ah, sidaas darteed akhri xiriirka ee ma aha faylka guud.

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

Haddii weydiinta loo nisbeeyo xiriir aan qaadin tunnel-ka, domain-ka marsiinta ayaa maqan inkastoo ciwaanka DNS uu jiro. Taasi waa dhibaato siyaasadeed ku jirta habaynta resolved, ma aha dhibaato marsiin ku jirta tunnel-ka.

Weelasha waxay qaataan nuqulkooda jawaabta

Weel laga dhisay image guud wuxuu inta badan soo qaataa resolv.conf go'an. Isbeddelada resolver-ka ee host-ka lagu sameeyo ma gaaraan isaga, sidoo kale domain raadinta, sidaas darteed shaqada build ee ku xidha share tunnel-ka wuu guuldareystaa halka isla amarkaas uu ka shaqeeyo weelka dibaddiisa. Sii weelka DNS iyo habaynta raadinta u gaar ah faylka compose ama doodaha run, ee ma aha oo kaliya profile-ka host-ka.

Hubi gudaha weelka ka hor inta aadan eedeyn image-ka. Laba amar ayaa dib u soo saara ogaanshaha oo dhan dhowr ilbiriqsi gudahood, tan labaadna waxay caddeysaa resolver-ka dhab ahaan jawaabay.

Kadib kaliya eeg share-ka iyo filter-ka

Marka magaca la xalliyo, guuldareystooyinka hadhay waa dhibaatooyin shabakadeed caadi ah. SMB wuxuu u baahan yahay TCP 445 ilaa server-ka, iyo baarista liiska kooxda shaqada waxay ku xiran tahay adeegyada magacyada oo tunnel-ku ay u badan tahay inuusan gudbin. Ku calaamadee magaca host-ka halkii aad ka sugteen liis buuxsamaya, oo u ogolow macmiilka inuu kuu sheego heerka uu gaaray. Xiriir la diiday iyo timeout aamusan sidoo kale waa in la kala soocaa, sababtoo ah tan hore waxay inta badan ka dhigan tahay in wax jawaabeen tan dambe na waxba ma jawaabin.

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

Ciwaan la xalliyay oo port 445 la diiday ama waqtigiisu dhammaaday waa dhibaato firewall ama listener dhanka kale. Magac aan la xallin waa dhibaatada resolver-ka. Iyo mount xaqiijiya laakiin soo celiya khaladaad fasax ma aha midkoodna, sidaas darteed ha dib u furin su'aasha shabakada marka kulanku hore u dhismay.

Ku hay gabagabada cidhiidhi ah sida caddaynta. Marka ciwaanku shaqeeyo oo magacu uusan shaqayn, tunnel-ku wuxuu qabanayaa shaqadiisa, hagaajintuna waxay ku jirtaa nidaamka resolver-ka, domain raadinta ama habaynta weelka laftiisa.

Maqaallo la xiriira