Linux Iptables-ը ցուցակում է բոլոր կանոնները


Iptables-ը դարպաս է, որը շատ կարևոր է Linux հարթակների ցանցային արժեթղթերի համար: Քանի որ iptables-ի ուսուցողական ուղեցույցներից շատերը ցույց կտան, թե ինչպես գրել դարպասի կանոններ՝ ձեր Linux համակարգը պաշտպանելու համար, այս հոդվածը կկենտրոնանա firewall-ի կառավարման տարբեր առանձնահատկությունների վրա՝ թվարկելով iptables կանոնները: Ենթադրենք, որ ձեր Linux սերվերում դուք վերջերս բացահայտել եք NAT կարգավորումները: Ubuntu-ում ինչպե՞ս կարող եք դիտել այն կանոնները, որոնք վերջերս գրել եք՝ տողերի համարների հետ միասին: Այս հոդվածը ենթադրում է, որ դուք աշխատում եք Linux պլատֆորմի հետ՝ բեռնված iptables գործառույթով, և որ ձեր հաշիվն ունի արմատային հասանելիություն: Այսպիսով, եկեք այսօրվա հոդվածը սկսենք մուտք գործելով ձեր Ubuntu 20.04 համակարգից, քանի որ մենք կիրականացնենք բոլոր հրամանները դրա պատյանում: Linux տերմինալը բացելու համար դուք պետք է փորձեք Ctrl+Alt+T դյուրանցումը հաջող մուտքից անմիջապես հետո:

Ցանկի կանոնները ըստ ճշգրտման.

Նախքան որևէ բան անելը, համոզվեք, որ ձեր համակարգը թարմացված է և արդիականացված: Եթե ոչ, փորձեք «թարմացնել» և «թարմացնել» հրամանները shell-ում: Սկզբում եկեք տեսնենք, թե ինչպես ստեղծել կանոնների ցուցակ: Գործառնական iptables կանոնները կարելի է տեսնել երկու տարբեր ձևերով՝ աղյուսակային ձևով կամ կանոնների պարամետրերի ցանկով: Երկու մոտեցումներն էլ ներկայացնում են նույն բովանդակությունը փոքր-ինչ տարբեր ձևաչափերով: Այսպիսով, եթե ցանկանում եք թվարկել ներկայումս միացված «iptables» կանոնները՝ ըստ իրենց ֆունկցիոնալության կամ բնութագրերի, կարող եք դա անել պարզ «iptables» հրամանով, որին հաջորդում է «-S» դրոշը: Համոզվեք, որ այս դեպքում օգտագործեք «sudo» հիմնաբառը: Կատարելիս այն կպահանջի ձեր sudo գաղտնաբառը: Գրեք ձեր գաղտնաբառը, սեղմեք Enter և ստացեք iptables կանոնների ցանկը և դրանց ճշգրտումը, ինչպես ցույց է տրված ստորև ներկայացված ելքային պատկերում:

$ sudo iptables -S

Դուք կարող եք օգտագործել վերը նշված պատկերում նշված բոլոր հրամանները՝ ըստ ձեր ընտրության: iptables հրամանի վերը նշված ելքը ցույց է տալիս iptables-ի բազմաթիվ հրամաններ «Ipv4»-ի համար՝ շատ բաներ կատարյալ կատարելու համար: Կարող եք նաև թվարկել Ipv6-ի կանոնները՝ օգտագործելով ստորև ներկայացված ip6tables հրամանը: Արդյունքը պատկերված է ստորև կցված սքրինշոթում:

$ sudo ip6tables -S

Վերոնշյալ հրամանները վերաբերում էին մեր համակարգի բոլոր կանոնները Ipv4-ի և Ipv6-ի թվարկմանը: Եթե ցանկանում եք խուսափել դրանից և անվանել որոշ հատուկ կանոններ, կարող եք դա անել նաև: Դուք պարզապես պետք է նշեք շղթայի անունը «-S» դրոշից հետո iptables հրամանում, և դուք պատրաստ եք գնալ: Մենք ցանկանում ենք թվարկել մեր համակարգի Ipv6-ում INPUT շղթայի բոլոր կանոնները: Մենք պետք է օգտագործենք «INPUT» բառը «-S» դրոշից հետո, ինչպես ցույց է տրված ստորև, և մենք կտեսնենք կանոնը, որը ցուցադրվում է միայնակ՝ հսկայական ցուցակի փոխարեն: Արդյունքը պատկերված է ստորև կցված սքրինշոթում:

$ sudo ip6tables –S INPUT

Հնարավորություն կա, որ որոշակի շղթա չունի ձեր համակարգում սահմանված կանոններ: Երբ մենք ցանկանում էինք ստուգել մեր համակարգի TCP շղթայի բոլոր կանոնների բնութագրերը, պարզեցինք, որ մեր iptable-ները չունեն «TCP» անվանումների շղթա: Արդյունքը պատկերված է ստորև կցված սքրինշոթում:

$ sudo ip6tables –S TCP

Եթե ցանկանում եք որոշակի շղթայի համար iptables կանոնները ցուցադրել աղյուսակային տեսքով, դուք պետք է օգտագործեք «-L» դրոշը iptables հրամանում: Այսպիսով, մենք օրինակ ենք վերցրել՝ ցուցադրելու բոլոր iptables կանոնները «FORWARD» շղթայի համար՝ օգտագործելով «-L» տարբերակը նկարում ցուցադրված հրամանի շրջանակներում: Այն ցուցադրում է կանոնները աղյուսակի տեսքով «ԱՌԱՋ» շղթայի համար և սահմանում է կանոնները որպես սյունակներ, այսինքն՝ թիրախ, աղբյուր, պրոտ, ընտրություն, նպատակակետ: Թիրախային սյունակը ցույց կտա այն օբյեկտը, որը պետք է դրվի/փակվի, երբ տվյալների որոշակի փաթեթը համընկնում է iptables-ի որոշ կանոնների հետ: Առաջին սյունակը ցույց կտա այդ կանոնով օգտագործվող արձանագրությունը, իսկ «opt» սյունակը ցույց կտա որոշ լրացուցիչ ընտրություններ այդ կանոնի համար: «Աղբյուր» սյունակը աղբյուրի IP հասցեն կամ անունն է, իսկ «նպատակակետը» նշում է անունը կամ IP-ն կամ թիրախը: Արդյունքը պատկերված է ստորև կցված սքրինշոթում:

$ sudo ip6tables –L FORWARD

iptables հրամանը նաև հնարավորություն է տալիս ցուցադրել փաթեթների ընդհանուր թիվը, որոնք համապատասխանում են որոշակի շղթայի կանոններին և դրանց պարունակած բայթերով: Մենք պետք է օգտագործենք «-v» տարբերակը մեր iptables հրամանում: Եթե ցանկանում եք ցուցակագրել ելքային տվյալները աղյուսակի ձևաչափով, կարող եք նաև փորձել օգտագործել «-t» դրոշակը: Մենք հրամանի մեջ օգտագործում էինք «-line-numbers» տարբերակը՝ գծերի համարները և NAT կանոնները թվարկելու համար: Դուք կստուգեք, որ ելքային տվյալները ավելի կազմակերպված կլինեն: Մենք օգտագործեցինք ստորև ներկայացված հրամանը «nat» ծառայության համար և ստացանք դրա հսկայական աղյուսակը որպես արդյունք: Մենք ունենք «pkts» սյունակ, որը ցույց է տալիս կանոններին համապատասխանող փաթեթները, «բայթ» սյունակը, որը ցույց է տալիս փաթեթի պարունակած բայթերի քանակը և շատ այլ սյունակներ: Այն նաև ցույց է տալիս NAT-ի շղթաների բոլոր կանոնները, այսինքն՝ INPUT, OUTPUT: «Num» սյունակը ցույց է տալիս կանոնների տողերի համարները: Արդյունքը պատկերված է ստորև կցված սքրինշոթում:

$ sudo iptables –L –n –v –t nat - -line-numbers

Եզրակացություն:

Վերջապես! Մենք արել ենք Ubuntu 20.04-ում iptables կանոնների ցուցակագրումը, օգտագործելով shell հավելվածը: Մենք ծանոթացանք պարզ iptables հրամանին՝ կանոնները ցուցակների և աղյուսակների տեսքով ցուցադրելու համար: Մենք դիտարկել ենք տարբեր տարբերակներ, ինչպիսիք են –S, -L, -n, -v, -t հատուկ նպատակների համար: Մենք նաև օգտագործել ենք «-line-numbers» տարբերակը՝ կանոնների համար տողերի համարները ցուցադրելու համար: