شناخت کاربردی Iptable بخش سوم

شناخت کاربردی Iptable بخش سوم

  فصل 3 : عبور از جداول و زنجيره ها  

در اين فصل عبور بسته ها از زنجيره هاي متفاوت و با نظم خود توصيف خواهند شد همچنين نظم عبور جداول بررسي مي‌شود و خواهيم ديد كه اين روند بعداً تا چه حد با ارزش خواهد بود در صورتي كه قوانين خاص را مىنويسيم.همچنين نقاط ورود مولف هاي وابسته به kernel به تصوير را بررسي خواهيم كرد تصميمات رديابي نيز بررسي مىشوند . اين امر در صورتي مهم است كه بخواهيم قوانين iptable را كه تغيير الگوي رديابي را براي بسته ها نشان دهند بنويسيم . بايد ديد كه چرا و چگونه اين بسته ها رديابي مىشوند . و نمونه هاي عالي DNAT و SNAT است بيت هاي Tos نبايد فراموش شوند .

 
1-3 : كليات :   
وقتي كه بسته ها ابتدا وارد Firewall شود با سخت افزار برخورد مىكند و سپس وارد درايو وسيله مناسب در kernel مي‌شود . پس بسته از يك مجموعه مراحل در kernel عبور خواهد كرد قبل از اين كه به برنامه صحيح ارسال شود و يا به ميزبان ديگر برود. ابتدا بسته اي را بررسي مىكنيم كه براي ميزبان داخلي مفروض است . از چندين مرحله بايد عبور كرد قبل از اينكه به برنامه دريافت كننده برسيم .
توجه كنيد كه اين بار بسته به جاي عبور از زنجيره Fireward از INPUT عبور خواهد كرد اين كاملاً منطقي است شايد تنها چيز منطقي در مورد عبور جداول و زنجيره ها در چه سيستم شما در ابتدا همين باشد ولي اگر به أن فكر كنيد آنرا مفيد تر خواهيد ديد.
در اين مثال فرض مىكنيم كه بسته براي ميزبان ديگر بر شبكه ديگر مفروض است . بسته مراحل متفاوت را به شرح زير طي خواهد كرد . 
همان طور كه مىتوان ديد يك سري مراحل فراوان وجود دارد . بسته مىتواند در هر زنجيره iptableمتوقف شود در صورتي كه شكل درست نداشته باشد . با اين وجود ما به جوانب iptable توجه داريم . هيچ زنجيره خاصي از جداول براي روابط متفاوت و يا مشابه آن وجود ندارد . Fireward هميشه عبور با تمام بسته هايي است كه به اين مسير و Firewall به جلو مىآيند . 
نكته :از زنجيره INPUT براي فيلتر سناريوي قبل استفاده نكنيد . INPUT فقط براي بسته ها در ميزبان داخلي شما به كار مىرود كه در اطراف مقصد ديگر نيست . اكنون مىتوان ديد كه چگونه زنجيره هاي متفاوت در اين 3 سناريوي جداگانه عبور مىكنند اگر يك الگوي درست از طرح ارائه شود به شرح زير است . 
براي تشريح اين تصوير بايد اين طرح را در نظر بگيريد . اگر يك بسته در تصميم رديابي اول داشته باشيم كه براي خود ماشين داخلي مفروض نيست مسير از زنجيره Forward است . اگر بسته برعكس براي آدرس IP باشد كه ماشين داخلي به آن گوش مىكند بسته از زنجيره ارسال مي‌شود و به ماشين داخلي مىرسد.
همانطور كه گفته شد بسته ها مىتوانند براي ماشين داخلي در نظر گرفته شوند ولي آدرس مقصد مىتواند از زنجيره PREUTING  يا اقدام NAT تغيير كند . چون اين امر قبل از اولين رديابي تصميم عملي است بسته بعد از اين تغيير جستجو خواهد شد . به اين علت رديابي تصميم تغيير ميكند توجه كنيد كه تمام بسته ها از يك يا چند مسير در تصوير عبور ميكنند . اگر DNATبسته به يك شبكه صورت گيرد حركت از مابقي زنجيره انجام خواهد شد تا اين كه به شبكه برسيم . 
نكته :اگر احساس مىكنيد كه اطلاعات بيشتر نياز داريد مىتوانيد از دست موشته آزمايشي بايد قوانين آزمايشي چكونگي عبور جداول در زنجيره ها را ارائه كند .   



2-3 : جدول تركيبي 
اين جدول همانطور كه گفته شد براي ترگيب بسته ها استفاده مي‌شود . به عبارت ديگر به آساني از تطابق تركيبي استفاده مي‌شود كه مىتواند تغيير فيلد TOSباشد .
نكته :شما نبايد از اين جدول براي فيلتر استفاده كنيد و يا هر DNAT , SNAT ويا Masquerading را در اين جدول استفاده نماييد . 
اهدافي كه در جدول تركيبي معتبر عبارتند از MARK - TTL - TOS هرف TOSبراي تنظيم و تغيير فيلد نوع خدماتي در بسته استفاده مي‌شود . اين مىتواند براي نصب خواستني ها بر شبكه در مورد چگونگي مسير يابي بسته و غير استفاده شود . توجه كنيد كه اين كامل نشده است و واقعاً بر اينترنت اجرا نمي‌شود و بيشتر ردياب ها به ارزش در فيلد توجه ندارند و گاهي اوقات آنها مىتوانند عملكرد را ارائه كنند در اين جا بسته ها به اينترنت مىروند مگر اين كه بخواهيد تصميم را بر آن يا iprute 2 اراده كنيد . 
هدف TTL براي تغيير TTL (زمان عصر ) در بسته استفاده مي‌شود ما مىتوانيم بگوييم كه بسته ها داراي يك TTL خاص هستند . يك دليل براي آن اين است كه نمي‌خواهيم خود را از ارائه دهنده خدمات اينترنت در كنيم . بعضي از ارائه دهندگان دوست ندارند كه كاربر ما چند كامپيوتر را به يك اتصال واحدتر راه اندازي كنند و ارائه دهندگان به دنبال توليد ارزش هاي متفاوت TTL توسط ميزبان هستند و اين خود نشانه اتصال كامپيوترها به يك ارتباط واحد است.
هدف MARK براي نصب ارزش مارك خاص در بسته استفاده مي‌شود . اين مارك ها مي‌توانند توسط برنامه iproute 2 براي مسيرهاي متفاوت بر بسته شناخته شوند و اين خود به علامت بستگي دارد ما مىتوانيم حد پهناي باند و رديف بندي طبقاتي را بر اساس اين علائم داشته باشيم. 
 
3-3 : جدول nat   
اين جدول بايد فقط براي NAT (ترجمه آدرس شبكه ) به بسته هاي متفاوت استفاده شود . به عبارت ديگر اين جدول براي ترجمه فيلد منبع بسته و يا فيلد مقصد به كار مىرود توجه كنيد كه همان طور كه گفته شد فقط بسته اول در جريان وارد اين زنجيره مي‌شود بعد از اين مابقي بسته ها به طور خودكار يك اقدام مانن بسته اول دارند . اهداف واقعي كه با اين امور انجام مىشوند عبارتند از : MASQUERADE - SNAT - DNAT 
هدف DNAT عمدتاً در مواردي استفاده مي‌شود كه يك IP عمومي وجود دارد و ميخواهيم تا دسترسي را بهFIREWALL و ديگر ميزبانها آسان كنيد (مانند DMZ ) به عبارت ديگر ما آدرس مقصد را در بسته تغيير مىدهيم . آنرا به ميزبان برمي‌گردانيم 
 SNAT براي تغيير آدرس منبع بسته ها استفاده مي‌شود . در بيشتر موارد شبكه هاي داخلي يا DMZ پنهان مىشوند . يك مثال در واقع Firewall معلومات در خارج از آدرس IP است و بايد شماره IP شبكه داخلي با شماره Firewall عوض شود با اين هدف Firewall به طور خودكار بسته ها را SNAT و DE-SNAT مىكند و بنابراين مىتوان اتصالات را از LAN به اينترنت برقرار كرد اثر شبكه شما از 192/168/…/netmask  استفاده مىكند بسته ها هرگز از اينترنت برنمىگردند زيرا LAN اين شبكه ها را به صورت خصوصي و يا براي استفاده در LAN جداگانه تنظيم كرده است . 
هدف MASRUERADE  مانند SNAT استفاده مي‌شود ولي هدف مربوطه كلي جاي بيشتر در كامپيوتر نياز دارد دليل آن اين است كه هر زبان كه هدف MASRUERADE با بسته در برخورد است به طور خودكار آدرس IP را براي استفاده كنترل مىكند آنرا مانند هدف SNAT استفاده خواهد كرد . اين امر با آدرس واحد IP عملي است . اين هدف كار درست با آدرس  Dynamic DHCP IP را كه ISP آنرا براي اتصال ppp ، pppoe يا SLIP به اينترنت ارائه كرده است راه اندازي مىكند .
 
4-3 : جدول فيلتر :
اين جدول براي فيلتر بسته ها استفاده مي‌شود . ما مىتوانيم بسته ها را هماهنگ سازيم و آن ها را هر گونه كه مىخواهيم فيلتر كنيم . اينجا اقدام مخالف بسته ها عملي است و خواهيم ديد كه چه چيز در آنها وجود دارد و بسته به محتويات DROP يا ACCEPT را مشخص مىكنيم البته ممكن است فيلتر قبلي صورت گرفته باشند با اين وجود اين جدول محل تعيين فيلتر براي طراحي است . تقريباً تمام اهداف در اين زنجيره استفاده مىشوند . ما در مورد جدول فيلتر مهارت داريم و مىدانيم كه اين جدول محل درست فيلتر اصلي است . 
 
 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر