Критерій стану з’єднання - conntrack (iptables) - блог системних адміністраторів інелсіс
Критерій стану з'єднання - conntrack (iptables)
by Маврич Сергій
conntrack - контролю стану з'єднання
використовується для прив'язки до з'єднань. Зокрема, стан NEW виділяє пакети, що відкривають нові сполуки, стан ESTABLISHED - пакети, що належать до визначених сполукам, станом RELATED відповідають пакети, що відкривають нові сполуки, логічно пов'язані з уже встановленими (наприклад, з'єднання даних в пасивному режимі FTP). Стан INVALID означає, що приналежність пакета до з'єднання встановити не вдалося.
Наприклад, одним простим правилом
виходить коректне пропускання всіх вхідних пакетів, що належать встановленим з'єднанням, і можливість фільтрації нових з'єднань.
Краще замінити в попередньому правилі ESTABLISHED на ESTABLISHED, RELATED,
відбувається правильна фільтрація протоколів, що використовують пов'язані сполуки - FTP, SIP H.323 і інших. Таке просте (з точки зору користувача) вирішення складної (з технічної точки зору) проблеми є безумовним гідністю firewall - netfilter і ядра Linux в цілому.
Крім критерію conntrack, варто згадати і його ідеологічного попередника - критерій state.Он був замість -m conntrack --ctstate ESTABLISHED, RELATED.
Подібні формулювання до сих пір зберігаються в багатьох посібниках з iptables. Однак в даний час критерій state вважається застарілим, і розробники iptables рекомендують використовувати замість нього критерій conntrack. Також зауважимо, що критерій conntrack володіє більш широкими можливостями, ніж state, і дозволяє використовувати додаткову інформацію про з'єднання, зокрема, стан самого з'єднання (ctstatus).