رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
IPTABLES ( قسمت اول )
#1
Iptables چیست ؟



Iptables که توسط گروه netfilter نوشته شده است از کرنل 2.4 به بعد جایگزین ipchains شد . و در حال حاضر به طور پیش فرض بر روی اکثر نسخه های لینوکس نصب است . از دو بخش اصلی تشکیل شده است . 1 – ماژول کرنل 2 – یک اینترفیس برای ارتباط با کاربر

ماژول iptables میتواند پکت های ورودی و خروجی را مدیریت و فیلتر کند و از جمله فایروال های حالت گرا است .

دانلود و نصب iptables



همانطور که گفته شد به صورت پیش فرض روی نسخه های مختلف لینوکس نصب است ولی به هر حال آخرین نسخه iptables را می توانید از خود وبسایت netfilter دریافت کنید .اگر از نسخه فدورا استفاده می کنید می توانید به راحتی از rpm

rpm –ivh iptables-1.2.9-1.i386.rpm

اجرا و متوقف کردن iptables



برای اجرا ، متوقف کردن یا راه اندازی دوباره سرویس iptables به ترتیب از دستورات :

service iptables start

service iptables stop

service iptables restart

استفاده می شود . وبرای نمایش وضعیت این سرویس از دستور service iptables status استفاده می شود برای را ه اندازی خودکار این سرویس بعد از هر بار ریستارت کردن سیستم هم باید از دستور

chkconfig iptables on

استفاده کرد .

برای اینکه بتوانیم قوانین iptables را با توجه به نیاز ها بنویسیم باید با مسیر پردازش پکت های ورودی و خروجی و همچنین ساختار و اصطلاحات مربوط به iptables از جمله جدول ( table ) و زنجیر( Chain ) آشنا شویم .



یک پکت ورودی قبل از اینکه بتواند از نرم افزار مربوطه استفاده کند یا اینکه به میزبان دیگری فرستاده شود، از یک سری مراحل در داخل هسته عبور می کند.



این مراحل شمال عبور از جداول و زنجیر ) chain ) های آنها است .



زنجیر ) chain )



همانند ipchains در هسته های قدیمی ،iptables نیز از یک سری قوانین زنجیروار استفاده می کند . سه زنجیر پیش فرض ، INPUT ، OUTPUT وForward هستند . یک زنجیر فهرستی ساده از قوانین است و مشخص می کند با هر پکت چطور رفتار شود . به عنوان مثال پکت DROP یا ACCEPT شود .

اولین تصمیمی که کرنل در هنگام دریافت یک بسته می گیرد درباره مقصد بسته است . اگر مقصد بسته ها خود ماشین لینوکس ( که iptables برروی آن در حال اجرا است . ) باشد برای تصمیم گیری در مورد آن پکت از قوانین زنجیر INPUT استفاده می کند .

اگر مقصد پکت ها کارت شبکه دیگر ( کلا ماشینی که تحت حمایت فایروال iptables است .) باشد و شما ipforwarding را فعال کرده باشید . پکت با قوانین زنجیر Forward کنترل می شود .

اگر خود لینوکس نیاز به ارسال پکت به شبکه خارج داشت آن پکت با توجه به قوانین زنجیر OUTPUT کنترل میشود و در صورت ACCEPT شدن اجازه خروج پیدا می کند .

پس توجه داشته باشید که زنجیر های INPUT و OUTPUT مربوط به خود ماشین لینوکس می شوند نه تمامی پکت های ورودی و خروجی



جدول



در iptables به طور پیش فرض سه جدول وجود دارد که زنجیر ها در محدوده این جدول قرار می گیرند .

در واقع می توان گفت پکت ها از این جداول عبور می کنند که هر یک از این جداول حاوی زنجیر ( فهرستی از دستورات ) هستند.



۱ - جدول mangle :

این جدول وظیفه تغییر بیت ها در هدر TCP از جمله بیت های کنترلی QOS را بر عهده دارد .

۲ - جدول filter :

وظیفه فیلتر کردن پکت ها را بر عهده دارد . و از سه زنجیر INPUT ، OUTPUT و FORWARD تشکیل شده است .

۳ - جدول NAT :

وظیفه آن ترجمه آدرس شبکه ) Network Address Translation ) است .

که شامل دو زنجیر اصلی PREROUTING و POSTROUTING است .

PREROUTING : وقتی استفاده می شود که نیاز به تغییر ) ترجمه ( آدرس مقصد پکت باشد .

قوانین این زنجیره قبل از عمل مسیریابی اعمال می گردند .

POSTROUTING : وقتی استفاده می شود که نیاز به تغییر ) ترجمه ( آدرس مبدا پکت باشد .

قوانین این زنجیره بعد از عمل مسیریابی اعمال می گردند .

منبع
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش قدم به قدم فایرول لینوکس Linux Firewalls : IPTables Tutorial مهرداد عباسی 3 6,306 02-10-2012, 02:02 PM
آخرین ارسال: مهرداد عباسی
  سوال و جواب های فایروال لینوکس Linux Firewalls : IPTables Tutorial مهرداد عباسی 0 2,642 02-10-2012, 01:50 PM
آخرین ارسال: مهرداد عباسی
  بن کردن IP در IPTables morteza ghaem 0 3,087 01-09-2011, 11:10 PM
آخرین ارسال: morteza ghaem

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان