VPN հաճախորդը ping է անում ֆայլային սերվերին, լուծում է նրա անունը և այնուամենայնիվ չի կարողանում բացել համօգտագործում։ Samba-ի հոսթ-քաղաքականությունը չորս շերտերից մեկն է, որոնք կարող են մերժել այդ կապը, և դա այն շերտն է, որը մարդիկ խմբագրում են վերջինը։ Թույլատրվածների ցանկը գնահատվում է այն աղբյուրի հասցեի դեմ, որը smbd-ն իրականում ստանում է, և դա կարող է այն հասցեն չլինել, որը հաճախորդը կարծում է, թե ունի։ Այդ աղբյուրը ճիշտ որոշելը անորոշ թույլտվության խնդիրը դարձնում է մեկ տողով կոնֆիգուրացիայի փոփոխություն։

Չորս շերտեր, որոնք ձախողվում են նույն հաղորդագրությամբ

Մերժումը կարող է գալ երթուղուց, հոսթի firewall-ից, Samba-ի հոսթ-քաղաքականությունից կամ SMB ինքնությունից։ Յուրաքանչյուր շերտ հաճախորդին տալիս է հաղորդագրություն, որն ասում է մոտավորապես նույնը, դրա համար էլ գուշակելը արժենում է կես օր։ Ստուգումները ցանցից ներս դասավորելը վերացնում է գուշակությունների մեծ մասը։

Սկսեք տրանսպորտից։ Եթե 445 պորտը երբեք չի հասնում սերվերին, ոչ մի Samba կարգավորում նշանակություն չունի, և սերվերի ինտերֆեյսի վրա գրավումը դա լուծում է վայրկյանների ընթացքում։ Հաջորդը գալիս է հոսթի firewall-ը հենց սերվերի վրա, որը կարող է դեն նետել թույլատրելի աղբյուրը նախքան smbd-ն այն կտեսնի։ Միայն այս երկուսն անցնելուց հետո է թույլատրվածների ցանկը դառնում թեկնածու։ Նույնականացումը վերջինն է, որովհետև մուտքի ձախողումը և հոսթի մերժումը սերվերի մատյանում տարբեր տեսք ունեն, նույնիսկ երբ հաճախորդը երկուսն էլ ներկայացնում է որպես մուտքի արգելում։ Հերթականությունը կարևոր է գործիքներից, որովհետև յուրաքանչյուր շերտ ունի հրաման, որը պատասխանում է դրան։

Գտեք աղբյուրի հասցեն, որը smbd-ն իրականում տեսնում է

Երթուղային մուտքի դեպքում սերվերը սովորաբար տեսնում է հաճախորդի հասցեն VPN լողավազանից։ Շլյուզի վրա աղբյուրի թարգմանության դեպքում այն փոխարենը տեսնում է շլյուզի LAN հասցեն, և այդ շլյուզի հետևում գտնվող յուրաքանչյուր հաճախորդ դառնում է անտարբերելի։

Այդ տարբերությունը որոշում է՝ թույլատրվածների ցանկի գրառումը քաղաքականություն է, թե անցք։ Թարգմանված շլյուզի հասցեն թույլատրելը ներս է թողնում նրա հետևում գտնվող բոլորին, ինչը յուրաքանչյուր հաճախորդի համար կանոնը հազվադեպ էր ուզում արտահայտել։ Կարդացեք աղբյուրը սերվերից, այլ ոչ թե հաճախորդի պատկերացումից իր սեփական հասցեի մասին։ Սերվերի ինտերֆեյսի վրա գրավումը դա տեսնելու ամենաէժան ձևն է, և նույն գրավումն ապացուցում է՝ փաթեթը ընդհանրապես հասել է, թե ոչ։ Սահմանափակեք գրավումը փաթեթների քանակով և ավելացրեք հոսթի զտիչ, երբ իմանաք, թե որ հաճախորդին եք հետևում։ Samba-ի սեսիաների աղյուսակը պատասխանի մյուս կեսն է. smbstatus -b-ում յուրաքանչյուր սեսիայի տողի հաճախորդի սյունակը այն զույգն է, որը գրանցել է smbd-ն, և դա այն հասցեի ամենաարագ հաստատումն է, որն իրականում հասել է ծառայությանը։

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

Կարդացեք թույլատրվածների ցանկը այնպես, ինչպես Samba-ն է կարդում

hosts allow կարգավորումը վերցնում է հասցեների, ցանցերի կամ անունների ցանկ և կարող է լինել գլոբալ կամ համօգտագործման ներսում։ Երկու գրառում, որոնք ձեզ համար համարժեք են թվում, կարող են համարժեք չլինել վերլուծիչի համար, ուստի ստուգելու ենթակա է հենց արդյունավետ կոնֆիգուրացիան։ Դա նշանակում է միավորված տեսք, այլ ոչ թե այն ֆայլը, որը պատահաբար խմբագրել եք։

Նախածանցերի պատկերավոր զույգը նման է ներքևի տողին, և դա օրինակ է, ոչ թե արդեն գոյություն ունեցող գրառումների փոխարինում։ Պահեք այն վարչական և հավելվածային հաճախորդներին, որոնք այսօր օրինականորեն միանում են, և նույն անցումով կարդացեք ցանկացած արգելող ցանկ։ Արդյոք հոսթը կընդունվի, կախված է քաղաքականությունից որպես ամբողջություն, ուստի փորձարկեք ճշգրիտ հաճախորդին՝ առաջնահերթության մասին դատողություն անելու փոխարեն։ Հոսթի թույլտվությունը նաև ոչինչ չի ասում համօգտագործման թույլտվությունների կամ ֆայլային համակարգի ռեժիմների մասին, որոնք առանձին դարպասներ են։ Փորձարկման գործիքների հաջողությունը նշանակում է, որ հոսթ-քաղաքականությունը ընդունում է այդ աղբյուրը, և ոչ ավելին։

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

Փոխեք այն ֆայլը, որը գոյատևում է վերագործարկումից

Սովորական Linux հոսթի վրա կոնֆիգուրացիայի ուղին ֆիքսված է, և ծառայությունը վերագործարկելիս այն նորից կարդում է։ Երթուղիչի կամ սարքի վրա աշխատող smb.conf-ը հաճախ գեներացվում է բեռնման պահին, և ձեռքով խմբագրումը անհետանում է հաջորդ վերագործարկման ժամանակ։ Օգտագործեք սարքի աջակցվող հարմարեցման մեխանիզմը, որը սովորաբար սեփական կոնֆիգուրացիայի ֆայլ է։

Գայթակղությունն այս պահին այլընտրանքային firmware թարմացնելն է, որովհետև մի թեմա հայտնել է, որ այն աշխատում է։ Դա մեծ փոփոխություն է փոքր քաղաքականության խնդրի համար, և սարքը դուրս է բերում աջակցվող վիճակից։ Նախ բացահայտեք աջակցվող կառավարումը, քանի որ սարքերի մեծ մասը թույլատրվածների ցանկը ցույց է տալիս սեփական ինտերֆեյսով։ Եթե նրանք իսկապես դա չեն անում, այդ սահմանափակումը փաստարկ է այլ սարքաշարի օգտին, այլ ոչ թե չաջակցվող կառուցման։

Գրանցեք, թե որ ֆայլն եք փոխել և ինչն է այն նորից ստեղծում, որպեսզի հաջորդ մարդը չկրկնի ախտորոշումը։

Փորձարկեք մեկ թույլատրված և մեկ բացառված հաճախորդ

Փորձարկեք երկու արդյունքն էլ, ոչ միայն ձեր ուզածը։ Միացող թույլատրված հաճախորդը ապացուցում է, որ փոփոխությունն աշխատում է. դեռ մերժվող բացառված հաճախորդը ապացուցում է, որ կանոնը պարզապես ամեն ինչ չի բացել։

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

Երբ կապը երբեք չի հասնում smbd-ին, պատասխանը երթուղավորման կամ սերվերի firewall-ի մեջ է։ Եթե հոսթը թույլատրված է, և մուտքը ձախողվում է, խնդիրը ինքնությունն է, և թույլատրվածների ցանկի լայնացումը նորից չի օգնի։ Պահեք ախտորոշիչ ելքը գաղտնի, որովհետև մանրամասն Samba մատյանը կարող է բացահայտել համօգտագործման ուղիներ և հաշիվների անուններ։ Փորձի համար փոխեք մեկ շերտ, այլապես հաջորդ արդյունքը ձեզ ոչինչ չի ասի։

Առնչվող հոդվածներ