Ինչպես կարգավորել iptables-ը CentOS-ում


Linux-ի վրա հիմնված համակարգերում, ինչպիսին է CentOS-ը, iptables-ը հրամանի տող է, որը թույլ է տալիս համակարգի ադմինիստրատորին սահմանել Linux միջուկի firewall-ի IP փաթեթների զտիչի կանոնները, որոնք գործարկվում են որպես լրացուցիչ Netfilter մոդուլներ: Այս զտիչները կառուցված են առանձին աղյուսակներում, որոնցից յուրաքանչյուրն ունի մի շարք կանոններ, թե ինչպես պետք է վարվեն ցանցային տրաֆիկի փաթեթները: Ներկայումս արձանագրությունների համար գոյություն ունեն տարբեր ծրագրեր և միջուկային մոդուլներ, ինչպիսիք են ebtable-ներն օգտագործվում են Ethernet փաթեթների համար, arptable-ներն օգտագործվում են ARP-ի համար, ip6table-ներն օգտագործվում են և IPv6-ի համար, իսկ IPv4-ի համար՝ iptables: iptables անվտանգության գործիքը նաև օգտագործվում է ընդունելի երթևեկությունը միացնելու, անցանկալի երթևեկությունը արգելափակելու, փաթեթները դեպի այլ TCP/UDP նավահանգիստներ տեղափոխելու, համակարգը պաշտպանելու համար Ծառայության մերժման հարձակումներից և շատ ավելին:

Սեղանների տեսակները iptables-ում

Սեղանը շղթաների հավաքածու է, որը կատարում է կոնկրետ առաջադրանք: NAT, Filter և Mangle աղյուսակները iptables-ի երեք հիմնական աղյուսակներն են.

NAT աղյուսակը օգտագործվում է ցանցային այլ ինտերֆեյսներին կապերը վերահղելու համար:

Filter աղյուսակը iptables-ում օգտագործվող լռելյայն զտիչն է, որը կառավարում է փաթեթների հոսքը համակարգից և դեպի համակարգ: Այն նաև պատասխանատու է կապերի թույլտվության և արգելափակման համար:

Mangle աղյուսակը օգտագործվում է փաթեթների վերնագրերը փոխելու համար:

Շղթաների տեսակները iptables-ում

iptable-ներից յուրաքանչյուրը պարունակում է հատուկ շղթաներ, որոնք ներառում են մի շարք կանոններ, որոնք կատարվում են որոշակի հերթականությամբ: iptables-ում մենք ունենք հինգ հիմնական շղթա.

  • Մուտք. այս շղթան մշակում է մուտքային կապերն ու փաթեթները արձանագրության կամ ծառայության մեջ:

  • Ելք. փաթեթը մշակելուց կամ մշակելուց հետո այն ավելացվում է ելքային շղթային:

  • Նախաուղղում. Երբ փաթեթը մտնում է ձեր ցանցի միջերեսը, այն նախապես ուղղորդվում է նախաուղղման շղթայի միջոցով:

  • Փոխանցում. այս շղթան պատասխանատու է երթուղղման համար, կամ կարելի է ասել, որ այն ուղարկում է մուտքային փաթեթներն իրենց աղբյուրից դեպի նպատակակետ:

  • Հետոուղղում. երթուղային որոշումը կայացվում է նախքան փաթեթը դուրս է գալիս ցանցի միջերեսից և ավելացվում է հետերթուղային շղթային:

Iptables-ը լայնորեն օգտագործվում է միջուկի մակարդակի բաղադրիչներին անդրադառնալու համար: Միջուկի մոդուլը, որը ներառում է ընդհանուր կոդի բաժինը, հայտնի է որպես x_tables: Բոլոր չորս մոդուլները (eb, arp, v6 և v4) օգտագործում են միջուկի այս մոդուլը: Այն նաև օգտագործվում է ամբողջական firewall-ի ճարտարապետությանը հղում կատարելու համար:

Iptable-ները տեղադրվում են «usr/sbin/iptables» ֆայլերում Linux-ի վրա հիմնված համակարգերի մեծ մասում: Այն կարող է տեղակայվել նաև «/sbin/iptables»-ում: Այնուամենայնիվ, iptables-ն աշխատում է նաև որպես ծառայություն։ Ահա թե ինչու «/usr/sbin»-ը դրա համար նախընտրելի տեղն է:

Այժմ մենք ցույց կտանք ինչպես կարող եք կարգավորել iptable-ները CentOS-ում: Մինչ այդ, տեղադրեք iptables, եթե այն արդեն չունեք ձեր համակարգում:

Ինչպես տեղադրել iptables-ը CentOS-ում

Ձեր CentOS տերմինալում դուք կարող եք հեշտությամբ տեղադրել iptables՝ կատարելով ստորև տրված հրամանը.

$ sudo yum install iptables-services

Սխալներից զերծ ելքը նշանակում է, որ iptables կոմունալ ծրագիրը հաջողությամբ տեղադրվել է:

Ինչպես միացնել iptables-ը CentOS-ում

Iptables ծառայությունը միացնելու ընթացակարգին հետևելու համար առաջին քայլը, որ պետք է անել, դրա ծառայությունն սկսելն է.

$ sudo systemctl start iptables
$ sudo systemctl start ip6tables

Այս ծառայությունը CentOS-ի բեռնման ժամանակ ինքնաբերաբար մեկնարկելու համար, ձեր համակարգի տերմինալում գրեք հետևյալ հրամանները.

$ sudo systemctl enable iptables
$ sudo systemctl enable ip6tables

Կատարեք ստորև տրված systemctl հրամանը՝ iptables ծառայության կարգավիճակը ստուգելու համար.

$ sudo systemctl status iptables

Ինչպես կարգավորել iptables-ը CentOS-ում

Դուք կարող եք օգտագործել «iptables» հրամանը՝ վերանայելու ընթացիկ iptables կանոնները՝ կատարելով ստորև տրված հրամանները.

$ sudo iptables -nvL

Այստեղ՝-n ավելացված է թվային ելքի համար: Օրինակ, նավահանգիստների համարները և IP հասցեները տպագրվում են թվային ձևաչափով:

-v նախատեսված է բառ ելքի համար: Այս ընտրանքն ավելացվում է այնպիսի տեղեկությունների ցանկի համար, ինչպիսիք են կանոնների ընտրանքները և միջերեսի անունները:

-L-ն օգտագործվում է iptables կանոնները ցուցակագրելու համար:

$ sudo ip6tables -nvL

SSH պորտը 22 բաց է միայն լռելյայն: Դուք կստանաք արդյունքը հետևյալ կերպ.

Ցանցում արգելափակելուբոլոր null փաթեթներըկատարեք ստորև տրված iptables հրամանը.

$ sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Եթե ցանկանում եք ավելացնելձեր localhost-ը firewall ֆիլտրին, ապա կատարեք այս հրամանը.

$ sudo iptables -A INPUT -i lo -j ACCEPT

iptables շղթայի կանոններն իրենց ինդեքսի համարներով թվարկելու համար գրեք ստորև տրված հրամանը ձեր CentOS տերմինալում.

$ sudo iptables -L --line-numbers

Այստեղ «-L» տարբերակը ավելացվում է շղթայի կանոնների ցանկին և «–գծեր-թվերը»՝ դրանց ինդեքսի համարները ցուցադրելու համար:

Ինչ է FirewallD-ը CentOS-ում

FirewallD-ը հրդեհային պատի ծառայություն է, որը կառավարվում է «firewall-cmd» հրամանի տողի միջոցով: Եթե նախընտրում եք iptables հրամանի տողի շարահյուսությունը, կարող եք անջատել FirewallD-ը և վերադառնալ ստանդարտ iptables կազմաձևին: Հաջորդ բաժնում մենք կցուցադրենք CentOS համակարգում FirewallD-ի անջատման կարգը:

Ինչպես անջատել FirewallD-ը CentOS-ում

Եթե ցանկանում եք դադարեցնել FirewallD-ը ձեր CentOS-ում, ապա բացեք ձեր տերմինալը՝ սեղմելով «CTRL+ALT+T» և այնուհետև դրա մեջ կատարեք ստորև տրված հրամանը.

$ sudo systemctl stop firewalld

Այս հրամանը կկանգնեցնի FirewallD-ին իր գործառույթների կատարումը.

Դուք պետք է իմանաք, որ համակարգի բեռնման ժամանակ FirewallD ծառայությունն ավտոմատ կերպով սկսվում է: FirewallD ծառայությունն անջատելու համար գրեք այս հրամանը.

$ sudo systemctl disable firewalld

FirewallD ծառայության մեկնարկը այլ ծառայությունների սահմանափակելու համար դիմակավորեք FirewallD ծառայությունը.

$ sudo systemctl mask --now firewalld

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