در هسته لینوکس وضعیت بسته های شبکه به ماشین را تعیین می کند. بخشی که اداره این امر را در هسته عهده دار است، iptables نام دارد. این سیستم جایگزین سیستم ipchains که در هسته های قدیمی تر لینوکس وجود داشت، شده است. به منظور استفاده از این قابلیت باید گزینه های آن در هسته فعال و کامپایل شده باشد که در بسیاری از توضیع های لینوکس پیش فرض می باشد و این قابلیت را پشتیبانی می کنند. iptables به طور ساختاری از تعداد قانون یا rule که تعیین کننده نحوه برخورد بابسته های رسیده به ماشین هستند، تشکیل شده است. هنگامی که بسته ای به ماشین می رسد، تمامی این قانون بر روی آن بررسی می شود. به طور پیش فرض، سه جدول در iptables وجود دارد که شامل جدول NAT,Filter,Mangle می باشد. هر یک از این جداول حاوی تعدادی زنجیره یا Chain پیش فرض می باشند. برای مثال جدول Filter حاوی سه زنجیره FORWARD,INPUT,OUTPUT می باشد. شما می توانید قوانین پیش گزینه موجود در آنها را تغییر داده و قوانین خودتان را اعمال نمایید. هر قانون می توانید تعدادی مقدار هدف یا Target داشته باشد که عمده ترین این مقادیر عبارت اند از REJECT,DROP,ACCEPT,REDIRECT,RETURN. با استفاده از دستوراتی در خط فرمان لینوکس می توانید قوانین مربوط به iptables را خذف و یا اضافه نمایید. مثلا در زیر سیاست INPUT را در جدول Filter تغییر خواهد داد:
#iptables -t filter -p INPUT DROP
بسته های IP چگونه از میان فیلتر ها عبور می کنند؟
هنگامی که یک بسته وارد می شود(مثلا از طریق کارت شبکه)هسته لینوکس ابتدا مقصد بسته را بررسی می کند. به این کار مسیریابی(Routing) اطلاق می گردد. در صورتی که مقصد بسته همین ماشین باشد، بسته طبق شکلی که در پایین است به زنجیره INPUT ارسال می شود. در صورتی که بتواند از این زنجیر عبور نماید، پروسه های محلی در انتظار آن بسته است و ماشین آن را دریافت خواهد کرد و از بسته استفاده می کند و اگر مقصد این بسته ماشین دیگری باشد و قابلیت ip_Forward در هسته فعال نباشد و یا هسته نداند که چگونه عملیات ّForward را انجام دهد، بسته را DROP خواهد کرد ولی اگر قابلیت ip_forward فعال باشد و مقصد آن بسته کارت شبکه دیگری باشد باید از زنجیر Forward عبور کند و اگر با قوانینی که در این زنجیر است مطابقت کند این بسته به بیرون سیستم هدایت می شود و به سمت مقصد مورد نظر ارسال می شود و در آخر اگر پروسه های محلی که در داخل سیستم است بخواهتد بسته ای ارسال کنند باید از زنجیر OUTPUT عبور کرده و به بیرون سیستم و به سمت مقصد ارسال خواهد شد.
در دانشنامه های بعدی در مورد نوشتن قوانین(Rules) در iptables های لینوکس خواهیم پرداخت.