Ինչպե՞ս փոխանցել նավահանգիստները Iptables-ով Linux-ում:
Ներածություն
Նավահանգիստների վերահասցեավորումը տեխնիկա է, որը թույլ է տալիս ցանցային համակարգին մուտք գործել ռեսուրսներ ցանցից դուրս՝ վերահասցեավորելով հատուկ նավահանգիստներ: Դա գործընթաց է, որը ներառում է միջնորդ սարք (օրինակ՝ երթուղիչ)՝ մուտքային կապերն ընդունելու նշված նավահանգիստներում, այնուհետև երթևեկությունը վերահղում դեպի ցանցի ներքին սարք: Վերջնական արդյունքը թույլ է տալիս հեռավոր սարքերին միանալ և շփվել լոկալ ցանցի սարքերում աշխատող ծառայությունների հետ:
Գործնական առումով, դա նշանակում է, որ եթե ցանկանում եք վեբ սերվեր գործարկել ձեր տնային համակարգչից, ցանկացած ոք, որը փորձում է միանալ ձեր տնային ցանցից դուրս, պետք է իմանա ձեր հանրային IP հասցեն և այնուհետև հարցումներ ուղարկի 80 (HTTP) կամ 443 պորտի միջոցով: (HTTPS): Այնուամենայնիվ, առանց պորտի վերահասցեավորման ճիշտ կազմաձևման, մուտքային կապի հարցումները չեն հասնի ձեր տան համակարգչին, քանի որ դրանք կարգելափակվեն ձեր երթուղիչի firewall-ի պաշտպանությամբ:
Iptables-ի համառոտ ակնարկ
Iptables-ը Linux համակարգերի համար հասանելի մի քանի firewall լուծումներից մեկն է: Այն գործում է միջուկի մակարդակում և ապահովում է փաթեթների զտման հզոր հնարավորություններ՝ առաջադեմ գործառույթներով, ինչպիսիք են պետական փաթեթների ստուգումը, NAT (ցանցային հասցեների թարգմանությունը), կապի հետևումը և այլն:
Iptables-ը հիմնականում օգտագործվում է մուտքային և ելքային ցանցային երթևեկությունը վերահսկելու համար, ներառյալ որոշակի արձանագրություններ, նավահանգիստներ կամ IP հասցեներ արգելափակելու կամ թույլատրելու համար: iptables գործիքը օգտագործում է մի շարք նախապես սահմանված շղթաներ՝ գնահատելու մուտքային տրաֆիկը մի շարք կանոնների համեմատ, ընդ որում յուրաքանչյուր կանոն սահմանում է հատուկ պայմաններ, որոնք պետք է բավարարվեն՝ երթևեկությունը թույլատրելու կամ մերժելու համար:
Շղթաները կազմակերպվում են հիերարխիկ ձևով՝ տարբեր աղյուսակներով, որոնք կատարում են տարբեր գործողություններ, օրինակ՝ փաթեթների զտում կամ փոփոխում դրանք փոխանցելու համար՝ հիմնվելով կանոններում նշված չափանիշների վրա: Հաջորդ բաժնում մենք կուսումնասիրենք, թե ինչպես iptables-ը կարող է օգտագործվել Linux համակարգերում նավահանգիստների վերահասցեավորումը կարգավորելու համար:
Հասկանալով Iptables
Ի՞նչ է iptables-ը:
Iptables-ը հզոր firewall ծրագիր է, որը նախապես տեղադրված է Linux բաշխումների մեծ մասում: Այն աշխատում է՝ ուսումնասիրելով տվյալների փաթեթները, երբ դրանք անցնում են ցանցային ինտերֆեյսի միջով և որոշումներ կայացնելով օգտատիրոջ կողմից սահմանված կանոնների հիման վրա:
Այս կանոններն օգտագործվում են որոշելու համար՝ թույլատրել կամ արգելափակել երթևեկությունը, թե մուտքային տրաֆիկը փոխանցել որոշակի նավահանգիստ կամ հասցե: Պարզ ասած, iptables-ը գործում է որպես զտիչ ձեր համակարգչի և ցանցի մնացած մասերի միջև:
Այն կարող է կազմաձևվել այնպես, որ թույլ տա ձեր համակարգ մուտք գործել միայն որոշակի տեսակի երթևեկություն՝ միաժամանակ արգելափակելով մյուս անցանկալի երթևեկությունը: Սա հատկապես կարևոր է այն սերվերների համար, որոնք պետք է լինեն հանրությանը հասանելի, բայց նաև պետք է պաշտպանված լինեն վնասակար հարձակումներից:
Ինչպես է դա աշխատում?
Iptables-ն աշխատում է՝ ստեղծելով կանոնների մի քանի շղթա, որոնք սահմանում են, թե ինչպես պետք է վարվի մուտքային և ելքային տրաֆիկը: Այս շղթաները, ըստ էության, կանոնների մի շարք են, որոնք որոշում են, թե ինչպես պետք է մշակվեն փաթեթները՝ կախված դրանց ատրիբուտներից, ինչպիսիք են աղբյուրի IP հասցեն, նպատակակետ IP հասցեն, արձանագրության տեսակը և պորտի համարը:
Երբ մուտքային փաթեթը հասնում է ցանցի ինտերֆեյսին, iptables-ը ստուգում է իր ատրիբուտները յուրաքանչյուր շղթայի յուրաքանչյուր կանոնի նկատմամբ հաջորդականությամբ, մինչև որ գտնի համապատասխանությունը: Եթե համընկնում չգտնվի, փաթեթը հանվում է կամ մերժվում՝ կախված iptables-ի կազմաձևումից:
Հիմնական հրամաններ iptables-ի համար
iptables-ի օգտագործումը սկսելու համար դուք պետք է իմանաք դրա կանոնները կարգավորելու մի քանի հիմնական հրամաններ
iptables -L − թվարկում է ներկայումս սահմանված բոլոր շղթաները:
iptables -F − մաքրում է (ջնջում) բոլոր կանոնները բոլոր շղթաներից:
iptables -Շղթայի կանոն − ավելացնում է (ավելացնում է) նոր կանոն գոյություն ունեցող շղթայի վերջում:
iptables -D շղթայի կանոն − ջնջում է կանոն գոյություն ունեցող շղթայից:
-
iptables -P շղթայի թիրախ - սահմանում է կանխադրված քաղաքականությունը (ընդունել, թողնել կամ մերժել) տվյալ շղթայի համար:
Սրանք iptables-ում առկա բազմաթիվ հրամաններից ընդամենը մի քանիսն են: Սովորելով այս հիմունքները, դուք լավ կհասցնեք յուրացնելու այս հզոր firewall-ի օգտակար ծրագիրը:
Port Forwarding Iptables-ով
Փոխանցման համար նավահանգիստների ընտրություն
Նախքան Linux-ում iptables-ի միջոցով նավահանգիստների վերահասցեավորումը կարգավորելը, կարևոր է որոշել, թե որ նավահանգիստներն եք ուզում փոխանցել: Նավահանգիստների վերահասցեավորումը թույլ է տալիս որոշակի նավահանգստի մուտքային տրաֆիկը վերահղվել դեպի մեկ այլ ներքին ցանցի հասցե:
Սա օգտակար է սերվեր գործարկելու կամ ձեր տեղական ցանցում ծառայություն հոսթինգի ժամանակ, և դուք ցանկանում եք, որ արտաքին օգտվողները մուտք ունենան այն: Սովորաբար փոխանցվող նավահանգիստները ներառում են 80-ը՝ վեբ տրաֆիկի համար, 22-ը՝ SSH-ի համար և 3389-ը՝ Remote Desktop Protocol-ի համար (RDP):
Նավահանգիստների վերահասցեավորման համար iptables կանոնների կարգավորում
Երբ որոշեք այն նավահանգիստները, որոնք ցանկանում եք փոխանցել, կարող եք սկսել կարգավորել iptables կանոնները նավահանգիստների վերահասցեավորման համար: Դա անելու համար մենք պետք է ստեղծենք նոր շղթա NAT աղյուսակում:
Նավահանգիստների վերահասցեավորման նոր շղթայի ստեղծում
Նավահանգիստների վերահասցեավորման համար նոր շղթա ստեղծելու համար օգտագործեք հետևյալ հրամանը −
sudo iptables -t nat -N
Սա կստեղծի նոր շղթա NAT աղյուսակում նշված անունով:
NAT աղյուսակի կազմաձևում
Նոր շղթա ստեղծելուց հետո մենք պետք է կազմաձևենք NAT աղյուսակը՝ ավելացնելով մեր նոր շղթան որպես դրա շղթաներից մեկը −
sudo iptables -t nat -A PREROUTING -j
Սա կավելացնի մեր նորաստեղծ շղթան որպես NAT աղյուսակի PREROUTING կանոնի շղթաներից մեկը:
Կանոնների ավելացում փոխանցման նավահանգիստներին
Այժմ, երբ մենք ստեղծել ենք մեր նոր շղթան և համապատասխանաբար կազմաձևել ենք NAT աղյուսակը, մենք կարող ենք ավելացնել կանոններ, որոնք իրականում կկատարեն պորտ-փոխանցումը: Դա անելու երեք եղանակ կա -
ա) մեկ նավահանգիստների վերահասցեավորում.
Մեկ կոնկրետ նավահանգստի մուտքային տրաֆիկը ներքին IP հասցե և նավահանգիստ փոխանցելու համար օգտագործեք հետևյալ հրամանը -
sudo iptables -t nat -A -p --dport -j DNAT --to-destination
բ) Նավահանգիստների վերահասցեավորման միջակայքերը.
Նավահանգիստների որոշակի տիրույթի մուտքային տրաֆիկի մի շարք ներքին IP հասցե և պորտ փոխանցելու համար օգտագործեք հետևյալ հրամանը.
sudo iptables -t nat -A -p --dport : -j DNAT --to-destination
գ) միանգամից մի քանի պորտերի փոխանցում.
Բազմաթիվ հատուկ նավահանգիստների մուտքային տրաֆիկը ներքին IP հասցե և պորտ փոխանցելու համար օգտագործեք հետևյալ հրամանը յուրաքանչյուր պորտի համար, որը ցանկանում եք փոխանցել.
sudo iptables -t nat -A -p --dport ,,...-j DNAT --to-destination
Linux-ում iptables-ով նավահանգիստների վերահասցեավորման կարգավորումը կարևոր է ձեր տեղական ցանցում սերվերներ կամ հոսթինգ ծառայություններ գործարկելիս:
Եզրակացություն
Այս հոդվածում մենք լուսաբանել ենք նավահանգիստների վերահասցեավորման հիմունքները և ինչպես օգտագործել iptables-ը Linux-ում՝ նավահանգիստները փոխանցելու համար: Մենք տրամադրեցինք iptables-ի և դրա հիմնական հրամանների ակնարկ, որին հաջորդում է մանրամասն ուղեցույց, թե ինչպես կարգավորել նավահանգիստների վերահասցեավորումը iptables-ով: Մենք քննարկել ենք ընդհանուր խնդիրները, որոնք կարող են առաջանալ iptables-ի միջոցով նավահանգիստների վերահասցեավորումը կարգավորելիս, ինչպես նաև անսարքությունների վերացման որոշ խորհուրդներ, որոնք կօգնեն ձեզ լուծել դրանք:
Նավահանգիստների վերահասցեավորումը ցանցի էական կողմն է, որը թույլ է տալիս ինտերնետից մուտքային տրաֆիկին հասնել ձեր ցանցի որոշակի սարքի կամ ծառայության: Այս գործընթացը կարևոր է շատ կարևոր հավելվածների համար, ինչպիսիք են հեռակառավարման հասանելիությունը, խաղերը, ֆայլերի փոխանակումը և վեբ հոստինգը: Հասկանալը, թե ինչպես փոխանցել նավահանգիստները iptables-ով Linux-ում, կենսական նշանակություն ունի, եթե ցանկանում եք արդյունավետ կառավարել ձեր ցանցը:
Iptables-ը հզոր firewall գործիք է, որը թույլ է տալիս կարգավորել առաջադեմ կարգավորումները ձեր ցանցի անվտանգության համար: Հասկանալով, թե ինչպես է այն աշխատում և դրա ֆունկցիոնալությունը՝ դուք կարող եք բարելավել ձեր ցանցի անվտանգության դիրքը՝ միաժամանակ ապահովելով, որ երթևեկությունը սահուն հոսում է ձեր ցանցի սարքերի կամ ծառայությունների միջև:
Բացի այդ, հիշեք, որ նավահանգիստների վերահասցեավորման կոնֆիգուրացիան պետք է թարմացվի, երբ ձեր ցանցային ենթակառուցվածքում կամ հավելվածի պահանջներում փոփոխություններ լինեն: Հետևելով այս հոդվածում նկարագրված ուղեցույցներին և ժամանակի ընթացքում դրանք աստիճանաբար կիրառելով, օգտվողները կարող են զարգացնել iptable-ների կազմաձևման և իրենց ցանցերն ավելի ապահով և հուսալի դարձնելու համար պահանջվող հմտությունները: