VPN-kliento pings la dosierservilon, solvas ĝian nomon kaj tamen ne povas malfermi dividon. La gastiga politiko de Samba estas unu el kvar tavoloj, kiuj povas rifuzi tiun ligon, kaj ĝi estas tiu, kiun homoj redaktas laste. La permeslisto estas taksata laŭ la fontadreso, kiun smbd efektive ricevas, kaj tio eble ne estas la adreso, kiun la kliento kredas havi. Ĝuste determini tiun fonton transformas malprecizan permesan problemon en konfiguran ŝanĝon de unu linio.

Kvar tavoloj, kiuj fiaskas kun la sama mesaĝo

Rifuzo povas veni de la itinero, la gastiga fajroŝirmilo, la gastiga politiko de Samba aŭ la SMB-identeco. Ĉiu tavolo produktas ĉe la kliento mesaĝon, kiu diras proksimume la samon, tial divenado kostas posttagmezon. Ordigi la kontrolojn de la reto enen forigas la plej grandan parton de la divenado.

Komencu per la transporto. Se pordo 445 neniam atingas la servilon, neniu Samba-agordo gravas, kaj kaptaĵo sur la servila interfaco solvas tion en sekundoj. Poste venas la gastiga fajroŝirmilo sur la servilo mem, kiu povas forĵeti permesitan fonton antaŭ ol smbd eĉ vidas ĝin. Nur post kiam tiuj du pasas, la permeslisto iĝas kandidato. Aŭtentigado venas laste, ĉar malsukcesa ensaluto kaj gastiga rifuzo aspektas malsame en la servila protokolo, eĉ kiam la kliento raportas ambaŭ kiel rifuzitan aliron. La ordo gravas pli ol la iloj, ĉar ĉiu tavolo havas komandon, kiu respondas al ĝi.

Trovu la fontadreson, kiun smbd efektive vidas

Ĉe enkursigita aliro la servilo kutime vidas la adreson de la kliento el la VPN-pool. Ĉe fonta traduko sur la enirejo ĝi anstataŭe vidas la LAN-adreson de la enirejo, kaj ĉiu kliento malantaŭ tiu enirejo fariĝas nedistingebla.

Tiu diferenco decidas, ĉu permeslista ero estas politiko aŭ truo. Permesi tradukitan enirejan adreson akceptas ĉiujn malantaŭ ĝi, kion regulo por unuopa kliento malofte intencis esprimi. Legu la fonton ĉe la servilo, ne laŭ la imago de la kliento pri sia propra adreso. Kaptaĵo sur la servila interfaco estas la plej malmultekosta maniero vidi ĝin, kaj la sama kaptaĵo pruvas, ĉu la paketo entute alvenis. Limigu la kaptaĵon per paketnombro kaj aldonu gastigan filtrilon, kiam vi scias, kiun klienton vi sekvas. La Samba-seanca tabelo estas la alia duono de la respondo: en smbstatus -b la klienta kolumno de ĉiu seanca vico estas la partnero, kiun smbd registris, kaj tio estas la plej rapida konfirmo de la adreso, kiu efektive atingis la servon.

sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'

Legu la permesliston tiel, kiel Samba legas ĝin

La agordo hosts allow prenas liston de adresoj, retoj aŭ nomoj, kaj ĝi povas stari tutmonde aŭ ene de divido. Du eroj, kiuj aspektas ekvivalentaj al vi, eble ne estas ekvivalentaj al la analizilo, do la efektiva konfiguracio estas tio, kion oni devas ekzameni. Tio signifas la kunfanditan vidon, ne la dosieron, kiun vi hazarde redaktis.

Ilustra paro de prefiksoj aspektas kiel la linio sube, kaj ĝi estas ekzemplo, ne anstataŭaĵo por la jam ekzistantaj eroj. Konservu la administrajn kaj aplikajn klientojn, kiuj hodiaŭ laŭleĝe konektiĝas, kaj legu ajnan malpermesliston en la sama trairo. Ĉu gastigo estas akceptita dependas de la politiko kiel tuto, do testu la ĝustan klienton anstataŭ rezonado pri prioritato. Gastiga permeso ankaŭ diras nenion pri dividaj permesoj aŭ dosiersistemaj reĝimoj, kiuj estas apartaj pordegoj. Sukceso de la testiloj signifas, ke la gastiga politiko akceptas tiun fonton, kaj nenion pli.

hosts allow = 192.168.50.0/24 10.90.0.0/24
testparm -s
testparm -s /etc/samba/smb.conf client.example 10.90.0.14

Ŝanĝu la dosieron, kiu postvivas restarton

Sur normala Linux-gastigo la konfigura vojo estas fiksa kaj la servo relegas ĝin ĉe restarto. Sur enkursigilo aŭ aparato la kuranta smb.conf ofte generiĝas ĉe lanĉo, kaj permana redakto malaperas ĉe la sekva restarto. Uzu la subtenatan agordan mekanismon de la aparato, kiu kutime estas propra konfigura dosiero.

La tentado ĉi-punkte estas fulmi alternativan firmvaron ĉar unu fadeno raportis, ke ĝi funkcias. Tio estas granda ŝanĝo por malgranda politika problemo, kaj ĝi elmovas la aparaton el ĝia subtenata stato. Unue identigu la subtenatan regilon, ĉar la plej multaj aparatoj montras la permesliston per propra interfaco. Se ili vere ne faras tion, tiu limigo estas argumento por alia aparataro, ne por nesubtenata konstruo.

Notu, kiun dosieron vi ŝanĝis kaj kio ĝin rekreis, por ke la sekva persono ne ripetu la diagnozon.

Testu unu permesitan kaj unu ekskluditan klienton

Testu ambaŭ rezultojn, ne nur la deziratan. Permesita kliento, kiu konektiĝas, pruvas, ke la ŝanĝo funkcias; ekskludita kliento, kiu restas rifuzita, pruvas, ke la regulo ne simple malfermis ĉion.

smbclient -L //fileserver -U alice
sudo testparm -s /etc/samba/smb.conf alice-laptop 10.90.0.14
sudo tail -n 40 /var/log/samba/log.smbd

Kiam la ligo neniam atingas smbd, la respondo kuŝas en enkursigado aŭ en la servila fajroŝirmilo. Se la gastigo estas permesita kaj la ensaluto fiaskas, la problemo estas la identeco, kaj plilarĝigi la permesliston denove ne helpos. Tenu diagnozan eliron privata, ĉar detala Samba-protokolo povas malkaŝi dividajn vojojn kaj kontajn nomojn. Ŝanĝu unu tavolon por provo, alie la sekva rezulto diros al vi nenion.

Rilataj artikoloj