Թունելի ինտերֆեյսում TCP 873-ին թույլ տալը rsync-ը չի անցկացնում OpenVPN-ի միջով, և չի էլ ստիպում հեռավոր կողմին ընդունել մոդուլը։ Թունելը կրում է ներքին կապ, որի արձանագրության և նպատակակետի կանոնները մնում են ճիշտ այնպիսին, ինչպիսին եղել են։ Ուստի առաջին հարցը ոչ թե այն է, թե որ պորտը բացել, այլ այն, թե rsync-ը ինչ տեսակի կապ է հաստատում։ Ստորև ամեն ինչ ենթադրում է, որ թունելն արդեն աշխատում է, և միայն ներքին ծառայությունն է դեռ կասկածելի։

Որոշեք, թե rsync-ը իրականում ինչ կապ է հաստատում

Հրամանի հեռավոր արգումենտը սովորաբար պատասխանում է այդ հարցին մինչև firewall-ի ցանկացած փոփոխություն։ Կրկնակի երկու կետը կամ URL սխեման ընտրում է դեմոնը, մինչդեռ հոսթի անունից հետո մեկ երկու կետը ընտրում է հեռավոր shell։ Կարդացեք այն արգումենտը, որն իրականում գործարկում եք, ոչ թե փաստաթղթի օրինակինը։

Հեռավոր shell-ի բացահայտ ընտրանքը կարող է կրկին փոխել պատասխանը, որովհետև այն rsync-ին ասում է, թե որ ծրագիրը գործարկել փոխադրման համար։ Կարդացեք ամբողջ հրամանի տողը՝ ներառյալ ժառանգված փաթաթող սկրիպտները, ոչ միայն հոսթի մասը։

Remote argumentWhat it opens
rsync://vault.corp.internal/archive/rsync daemon, normally TCP 873
vault.corp.internal::archive/rsync daemon, normally TCP 873
[email protected]:/srv/archive/Remote shell, normally SSH on its configured port

Դեմոնի ռեժիմ՝ կապման հասցե, մոդուլ և պորտ

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

Անկախ դեմոնը կարելի է ամրացնել թունելի հասցեին իր կարգավորումների նիշքում, ինչը նրան պահում է հանրային ինտերֆեյսից առանց որևէ firewall-կանոնի։ Արժեքը պետք է գոյություն ունենա, երբ դեմոնը կապվում է, և socket-ով ակտիվացված կամ inetd-ով կառավարվող լսողը կարող է այն ամբողջությամբ անտեսել։

address = 10.44.0.1
port = 873
[archive]
    path = /srv/archive
    read only = yes

Այնուհետև փորձարկեք մասնավոր հասցեի դեմ, ոչ թե հանրային անվան։ Հանրային հոսթի անունը լուծվում է WAN հասցեի և անցնում այլ ուղիով, նույնիսկ երբ մեկ մեքենան պատասխանում է երկուսին էլ։

rsync --list-only rsync://10.44.0.1/archive/

Հեռավոր shell-ի ռեժիմ՝ SSH-ն է կրում փոխանցումը

Մեկ երկու կետով rsync-ը գործարկում է հեռավոր shell ծրագիր և խոսում նրա արձանագրությամբ այդ ալիքով, ուստի միակ հասանելի ծառայությունը SSH-ն է այն պորտում, որով սերվերը լսում է։ rsync-ի դեմոնը երբեք չի աշխատում, 873 պորտը անկարևոր է, և հասանելիության որոշումը դառնում է SSH հաշվի որոշում։ Հեռավոր ուղին այդ դեպքում իրական ֆայլային համակարգի ուղի է, որը մեկնաբանում է մյուս կողմի shell-ը։ Ահա թե ինչու 873-ին ուղղված firewall-փոփոխությունը այս ռեժիմի համար ընդհանրապես ոչինչ չի անում։

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

Բացեք միայն ձեր ընտրած ուղին

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

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

Ստուգեք հաճախորդից նույն ռեժիմով և նպատակակետով, որոնք մտադիր եք օգտագործել արտադրությունում։ Հաջող ցանկը միասին ապացուցում է լսողին, երթուղին և կանոնը, իսկ ժամկետի լրանալը մատնանշում է ուղին, մերժումը՝ լսողին։

ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873

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