Haqqımda Təcrübə Bacarıqlar Blog
Geri qayıdın

Ardıcıllıq vacibdir: Iptables qaydalarını sürət üçün necə optimallaşdıraq?

Iptables hələ də Linux-da ən çox yayılmış firewall olaraq qalır. Nftables artıq uzun müddət əvvəl elan edilib və bir çox distributivlərdə standart quruluşda olsa da, eyni Docker standart olaraq yenə də iptables-dan istifadə edir.Bu firewall-da qaydaların ardıcıllığı çox vacibdir. Əvvəl mən bu qaydalara o gədər də diqqət etmirdim. Prinsipcə, yük kiçik olarsa, müasir prosessorlar demək olar ki, hər hansı bir qayda ardıcıllığını öhdəsindən gələ bilər. Amma ümumi bilik üçün onların necə işlədiyini başa düşmək daha yaxşıdır.

Paketlər qaydalar siyahısından yuxarıdan aşağıya doğru ardıcıllıqla keçir. Əgər paket hər hansı bir qaydaya uyğun gəlirsə, o zaman zəncirdə hərəkəti dayanır. Buradan mühüm bir nəticə çıxır: zəncirdə ilk növbədə maksimum trafik həcmini əhatə edən qaydalar olmalıdır ki, bu trafik zəncirdə daha aşağıdakı qaydalara çatmasın.

Buna nümunə olaraq, əvvəllər hansısa qayda ilə icazə verilmiş artıq qurulmuş (established) və ya əlaqəli (related) əlaqələrin paketlərinə icazə vermək qaydasıdır. Onları bütün qaydalar üzrə yenidən yoxlamağın mənası yoxdur. Eyni şey bizə lazım olmayan və dərhal atıla bilən problemli paketlərə (məsələn, invalid) də aiddir.

Qaydalar hər biri ayrı-ayrı zəncirdə ardıcıllıqla oxunur: Input, Forward, Output.

Əgər öz qaydalarınızın siyahısında onları qarışdırsanız, bu onların emalı ardıcıllığına təsir etməyəcək. Hər bir qayda aid olduğu zəncirə düşəcək və həmin zəncirdəki qaydalar siyahısına uyğun olaraq icra olunacaq.

Beləliklə, iptables üçün qaydaların qurulma ardıcıllığı təxminən aşağıdakı kimi olmalıdır:

  1. Maksimum trafik həcmini əhatə edən icazə verən qaydalar.[*]Qalan icazə verən qaydalar.[*]Həmin zəncirin bütün trafikini qadağan edən qayda.
Bu, açıq şəkildə icazə verilməyən hər şeyin qadağan edildiyi normal bağlı firewall konfiqurasiyası nümunəsidir.

#iptables #linux