تبليغاتX
سایت تخصصی شبکه mojarad
آموزش.طرح.رفع ایراد.سوال وجواب.وهمه نوع مطلبی که به کامپیوتر مربوط می شود.

..........................................

سلام

..........................................

+ نوشته شده در  چهارشنبه نوزدهم مرداد 1384ساعت 16:46  توسط اسماعیل مجرد  | 

..........................................

توپولوژی های فايروال

برای پياده سازی و پيکربندی فايروال ها در يک شبکه از توپولوژی های متفاوتی استفاده می گردد . توپولوژی انتخابی به ويژگی های  شبکه و خواسته های موجود بستگی خواهد داشت . در اين رابطه گزينه های متفاوتی وجود دارد که در ادامه به بررسی برخی از نمونه های متداول در اين زمينه خواهيم پرداخت.
(برای آشنائی با فايروال ها و برخی از ويژگی های ارائه شده توسط آنان مطالعه مطلب
 فايروال ها : يک ضرورت اجتناب ناپذير در دنيای امنيت اطلاعات  ، پيشنهاد می گردد ) .

سناريوی اول : يک فايروال Dual-Homed
در اين توپولوژی که يکی از ساده ترين و در عين حال متداولترين روش استفاده از يک فايروال است ، يک فايروال مستقيما" و از طريق يک خط Dial-up ، خطوط ISDN و يا مودم های کابلی به اينترنت متصل می گردد. در توپولوژی فوق امکان استفاده از DMZ وجود نخواهد داشت .

برخی از ويژگی های اين توپولوژی  عبارت از :

  • فايروال مسئوليت بررسی بسته های اطلاعاتی ارسالی با توجه به قوانين فيلترينگ تعريف شده بين شبکه داحلی و اينترنت و برعکس را برعهده دارد.

  • فايروال از آدرس IP خود برای ارسال بسته های اطلاعاتی بر روی اينترنت استفاده می نمايد .

  • دارای يک پيکربندی ساده بوده و در مواردی که صرفا" دارای يک آدرس IP معتبر ( Valid ) می باشيم ، کارساز خواهند بود .

  • برای اتصال فايروال به اينترنت می توان از يک خط Dial-up معمولی ، يک اتصال ISDN و  مودم های کابلی  استفاده نمود .

سناريوی دوم : يک شبکه Two-Legged به همراه قابليت استفاده از يک ناحيه DMZ
در اين توپولوژی که نسبت به مدل قبلی دارای ويژگی های پيشرفته تری است ، روتر متصل شده به اينترنت به هاب و يا سوئيچ موجود در شبکه داخلی متصل می گردد .

برخی از ويژگی های اين توپولوژی عبارت از  :

  • ماشين هائی که می بايست امکان دستيابی مستقيم به اينترنت را داشته باشند ( توسط فايروال فيلتر نخواهند شد ) ، به هاب و يا سوئيچ خارجی  متصل می گردند .

  • فايروال دارای دو کارت شبکه است که يکی به هاب و يا سوئيچ خارجی و ديگری به هاب و يا سوئيچ داخلی متصل می گردد. ( تسهيل در امر پيکربندی فايروال )

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

  • به منظور افزايش کارآئی و امنيت شبکه ، می توان  از سوئيچ در مقابل هاب استفاده نمود .

  • در توپولوژی فوق امکان استفاده از سرويس دهندگانی نظير وب و يا پست الکترونيکی که می بايست قابليت دستيابی همگانی و عمومی  به آنان وجود داشته باشد از طريق ناحيه DMZ  فراهم می گردد .

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

  • در صورتی که امکان کنترل و مديريت روتر وجود نداشته باشد ، ناحيه DMZ بطور کامل در معرض استفاده عموم کاربران اينترنت قرار خواهد داشت . در چنين مواردی لازم است با استفاده از ويژگی ها و پتانسيل های ارائه شده توسط سيستم عامل نصب شده بر روی هر يک از کامپيوترهای موجود در ناحيه DMZ ، يک سطح مناسب امنيتی را برای هر يک از آنان تعريف نمود .

  • پيکربندی مناسب ناحيه DMZ به دو عامل متفاوت بستگی خواهد داشت : وجود يک روتر خارجی و داشتن چندين آدرس IP 

  • در صورتی که امکان ارتباط با اينترنت از طريق يک اتصال PPP ( مودم Dial-up ) فراهم شده است و يا امکان کنترل روتر وجود ندارد و يا صرفا" دارای يک آدرس IP می باشيم ، می بايست از يک راهکار ديگر در اين رابطه استفاده نمود . در اين رابطه می توان از دو راه حل متفاوت با توجه به شرايط موجود  استفاده نمود :

راه حل اول ، ايجاد و پيکربندی يک فايروال ديگر در شبکه است . راه حل فوق در مواردی که از طريق PPP به شبکه متصل می باشيم ، مفيد خواهد بود . در توپولوژی فوق ، يکی از ماشين ها به عنوان يک فايروال خارجی ايفای وظيفه می نمايد ( فايروال شماره يک ) . ماشين فوق مسئوليت ايجاد اتصال PPP و کنترل دستيابی به ناحيه DMZ را بر عهده خواهد داشت و فايروال شماره دو ،  مسئوليت حفاظت از شبکه داخلی را برعهده دارد . فايروال شماره يک از فايروال شماره دو  نيز  حفاظت می نمايد.

راه حل دوم، ايجاد يک فايروال  Three Legged است که در ادامه به آن اشاره خواهيم کرد .

سناريوی سوم : فايروال Three-Legged
در اين توپولوژی که نسبت به مدل های قبلی دارای ويژگی های پيشرفته تری است ، از يک کارت شبکه ديگر بر روی فايروال و برای ناحيه DMZ استفاده می گردد . پيکربندی فايروال بگونه ای خواهد بود که روتينگ بسته های اطلاعاتی بين اينترنت و ناحيه DMZ  با روشی متمايز و متفاوت از اينترنت و شبکه داخلی ،  انجام خواهد شد .

برخی از ويژگی های اين توپولوژی عبارت از :

  • امکان داشتن يک ناحيه DMZ وجود خواهد داشت .

  • برای سرويس دهندگان موجود در ناحيه DMZ می توان از آدرس های IP غيرمعتبر استفاده نمود .

  • کاربرانی که از اتصالات ايستای PPP استفاده می نمايند نيز می توانند به  ناحيه DMZ دستيابی داشته و از خدمات سرويس دهندگان متفاوت موجود در اين ناحيه استفاده نمايند .

  • يک راه حل مقرون به صرفه برای سازمان ها و ادارات کوچک است .

  • برای دستيابی به ناحيه DMZ و شبکه داخلی می بايست مجموعه قوانين خاصی تعريف گردد و همين موضوع ، پياده سازی  و پيکربندی مناسب اين توپولوژی را اندازه ای پيجيده تر می نمايد .

  • در صورتی که امکان کنترل روتر متصل به اينترنت وجود نداشته باشد ، می توان کنترل ترافيک ناحيه DMZ  را با استفاده از امکانات ارائه شده توسط فايروال شماره يک انجام داد .

  • در صورت امکان سعی گردد که  دستيابی به ناحيه DMZ محدود شود . لبلابلایسبنلاسینکبلاسکینبلیبل

+ نوشته شده در  سه شنبه هجدهم مرداد 1384ساعت 17:41  توسط اسماعیل مجرد  | 

آشنائی با کارت شبکه

کارت شبکه ، يکی از مهمترين عناصر سخت افزاری در زمان پياده سازی يک شبکه کامپيوتری است . هر کامپيوتر موجود در شبکه ( سرويس گيرندگان و سرويس دهندگان ) ، نيازمند استفاده از يک کارت شبکه است . کارت شبکه ، ارتباط بين کامپيوتر  و  محيط انتقال ( نظير کابل ها ی مسی و يا فيبر نوری ) را فراهم می نمايد .
اکثر مادربردهای جديدی که از آنان در کامپيوترهای شخصی استفاده می گردد ، دارای يک اينترفيس شبکه ای
onboard می باشند . کامپيوترهای قديمی و يا کامپيوترهای جديدی که دارای اينترفيس شبکه ای onboard نمی باشند ، در زمان اتصال به شبکه ، می بايست بر روی آنان يک کارت شبکه نصب گردد.
شکل زير يک نمونه کارت شبکه را که دارای يک پورت
RJ-45 است را نشان می دهد .

وظايف کارت شبکه

  • برقراری ارتباط لازم بين کامپيوتر و محيط انتقال

  • تبديل داده : داده ها بر روی گذرگاه ( bus ) کامپيوتر به صورت موازی حرکت می نمايند . نحوه حرکت داده ها بر روی محيط  انتقال شبکه به صورت سريال است . ترانسيور کارت شبکه ( يک ارسال کننده و يا دريافت کننده ) ، داده ها را از حالت موازی به سريال و بالعکس تبديل می نمايد .

  • ارائه يک آدرس منحصربفرد سخت افزاری : آدرس سخت افزاری (MAC ) درون تراشه ROM موجود بر روی کارت شبکه نوشته می گردد . آدرس MAC در واقع يک زير لايه از لايه  Data Link مدل مرجع OSI می باشد . آدرس سخت افراری موجود بر روی کارت شبکه ، يک آدرس منحصربفرد را برای هر يک از کامپيوترهای  موجود در شبکه ، مشخص می نمايد . پروتکل هائی نظير TCP/IP از يک سيستم آدرس دهی منطقی ( آدرس IP ) ، استفاده می نمايند . در چنين مواردی قبل از دريافت داده توسط کامپيوتر ، می بايست آدرس منطقی به آدرس سخت افزاری ترجمه گردد .

انتخاب کارت شبکه
برای انتخاب يک کارت شبکه ، می بايست پارامترهای متعددی را بررسی نمود :

  • سازگاری با معماری استفاده شده در شبکه : کارت های شبکه دارای مدل های متفاوتی با توجه به معماری استفاده شده در شبکه ( اترنت ، Token ring )می باشند . اترنت ، متداولترين معماری شبکه در حال حاضر است که در شبکه هائی با ابعاد بزرگ و کوچک ، استفاده می گردد .

  • سازگاری با throughput شبکه : در صورتی که يک شبکه اترنت سريع (سرعت 100Mbps ) پياده سازی شده است ، انتخاب يک کارت اترنت با سرعت 10Mbps تصميم مناسبی در اين رابطه نخواهد بود . اکثر کارت های شبکه جديد قادر به سوئيچينگ اتوماتيک بين سرعت های 10 و 100Mbps می باشند ( اترنت معمولی و اترنت سريع )

  • سازگاری با نوع اسلات های خالی مادربرد : کارت های شبکه دارای مدل های متفاوتی با توجه به نوع اسلات مادربرد می باشند. کارت های شبکه PCI درون يک اسلات خالی PCI  و کارت هائی از نوع ISA در اسلات های ISA نصب می گردند . کارت شبکه می بايست متناسب با يکی از اسلات های خالی موجود بر روی مادربرد، انتخاب گردد. اسلات آزاد به نوع مادربرد  بستگی داشته و در اين رابطه گزينه های متعددی نظير ISA,PCI و EISA می تواند وجود داشته باشد . شکل زير يک نمونه مادربرد را که دارای اسلات های ISA و PCI است ، نشان می دهد :

 گذرگاه ISA که از کلمات Industry Standard Architecture  اقتباس شده است، استاندارد استفاده شده در کامپيوترهای IBM XT است . استاندارد فوق در ابتدا به صورت هشت بيتی مطرح و در سال 1984 نوع شانزده بيتی آن نيز عرضه گرديد. تعداد زيادی از تجهيزات سخت افزاری نظير مودم ، کارت صدا و کارت های شبکه بر اساس استاندارد فوق توليد و عرضه شده اند . برخی از مادربردهای جديد دارای اسلات های PCI بوده  و از کارت های ISA  حمايت نمی نمايند . ( کارت های PCI دارای سرعت بيشتری نسبت به ISA می باشند ) .
PCI در سال 1993 معرفی و يک گذرگاه سی و دو بيتی است . PCI 2.1 شصت و چهار بيت را حمايـت می نمايد .کارت های شبکه PCI با توجه به پتاسيل های موجود دارای استعداد لازم به منظور ارائه سرعت و کارآئی بيشتری نسبت به کارت های ISA می باشند :

  • بافرينگ : حافظه تراشه ها ( RAM )  بر روی کارت شبکه قرار داشته و از آن به عنوان بافر استفاده می گردد .از حافظه فوق به منظور نگهداری اطلاعاتی که در انتظار پردازش می باشند و يا اطلاعاتی که می بايست بر روی شبکه منتشر شوند ، استفاده می گردد .

  •  DMA و يا Direct Memory Access ، کامپيوترهائی که از DMA حمايـت می نمايند، امکان ارسال و يا دريافت داده از حافظه را مستقيما" و بدون درگيرکردن پردازنده فراهم می نمايند .

  • Bus Mastering . کارت های شبکه می توانند بگونه ای طراحی شوند که مستقيما" بدون استفاده از پردازنده کامپيوتر و يا واسطه ای ديگر به حافظه RAM کامپيوتر دستيابی داشته باشند . ويژگی فوق به کارت های شبکه اجازه می دهد که bus را کنترل نموده و داده ئی را به حافظه RAM کاميپوتر ارسال و يا دريافت نمايند .

نصب کارت شبکه
برای نصب کارت شبکه می توان مراحل زير را دنبال نمود :

  • باز نمودن کيس کامپيوتر و نصب کارت شبکه در يکی از اسلات های آزاد

  • بستن کيس و متصل نمودن کابل به پورت کارت شبکه

  • راه انداری کامپيوتر . در صورتی که يک کارت Plug&Play  تهيه شده است و از سيستم عاملی استفاده  می شود  که تکنولوژی Plug & Play را حمايت می نمايد ، تنها کاری که احتمالا" می بايست انجام داد ، قرار دادن ديسکت و يا CD  درايور کارت شبکه در درايو مربوطه است .در صورتی که از سيستم عاملی استفاده می گردد که قادر به تشخيص سخت افزارهای جديد نمی باشد ، می بايست عمليات نصب کارت شبکه به صورت دستی انجام شود .

با توجه به اين که کامپيوترهای جديد و سيستم های عاملی که بر روی آنان نصب می گردد، عموما" از فن آوری Plug&Play حمايت می نمايند ، نصب يک کارت شبکه کار چندان مشکلی نخواهد بود . کافی است کارت شبکه را درون يکی از اسلات های خالی مادربرد قرار داده و کامپيوتر را راه اندازی نمود . کارت های شبکه Plug&Play توسط سيستم عامل تشخيص داده شده و درايور آنان نصب می گردد .
در حال حاضر سيستم های عامل اندکی وجود دارد که از تکنولوژی
Plug &Play حمايت نمی نمايند ، در زمان نصب کارت شبکه بر روی اين نوع سيستم ها ، می بايست دارای اطلاعات لازم در رابطه با IRQ نيز باشيم ( IRQ از کلمات Interrupt Request  اقتباس شده است) . به هر دستگاه موجود در کامپيوتر نظير موس ، صفحه کليد و کارت شبکه ، يک خط IRQ نسبت داده می شود. دستگاه های فوق با استفاده از IRQ نسبت داده شده ، درخواست خود را با پردازنده مطرح می نمايند ( پردازش داده ها ) . هر دستگاه می بايست دارای يک IRQ منحصربفرد باشد در غير اينصورت با يک IRQ Conflict مواجه خواهيم شد.
جدول زير تنظيمات
IRQ در کامپيوترهای شخصی را نشان می دهد .

IRQ

کاربرد

0 System timer
1 Keyboard
2 Cascade to secondary IRQ controller
3 COM port 2 and 4 (serial port)
4 COM port 1 and 3 (serial port)
5 LPT2 (printer port)
6 Floppy disk controller
7 LPT1 (printer port)
8 Real-time clock
9 Free
10 Primary SCSI adapter (or free)
11 Secondary SCSI adapter (or free)
12 PS/2 mouse
13 Floating-point math coprocessor
14 Primary hard disk controller
15 Secondary hard disk controller (or free)


+ نوشته شده در  سه شنبه هجدهم مرداد 1384ساعت 17:28  توسط اسماعیل مجرد  | 
در طراحی Active Directory بايد موارد زير را در نظر بگيريم:
1 – طراحی فضا نام (Namespace) دامنه (Domain)
2 – طراحی فضا نام DNS
3 - طراحی Organization Units و Group Policy
4 - طراحی FSMO
5 - طراحی Global Catalog
6 - طراحی Replication و Siteها

طراحی فضا نام
شايد مهمترين مساله در طراحی Active Directory همين مساله Namespace باشد که خود به دو قسمت Domain و DNS تقسيم ميشود.
نميتوان برای بکارگيری يک مدل Domain قانون مشخصی ارائه داد و کاملا مساله بستگی به مجموعه اطلاعاتی دارد که از امکانات و نياز مشتری داريم. ساختار درونی سازمان، نحوه اتصال دفاتر مختلف يک سازمان به يکديگر، نحوه سياست سازمان در مورد مديريت شبکه و نگرانيهای امنيتی از جمله مواردی است که ميتواند Namespace را تحت تاثير قرار دهد و هر چه اطلاعات جمع آوری شده ما از مشتری، امکانات و نيازها بيشتر و دقيق تر باشد طرح ما نيز مدلی مناسبتری را ارائه خواهد داد تا نيازهای سازمانی مشتری را بطور کامل پوشش دهد.
و اما طراحی DNS که اگر از آن بعنوان قلب Active Directory نام ببریم مبالغه نکرده ايم بايد بسيار با دقت انجام شود و مسائلی همچون تسهيل مديريت، افزايش امنيت، سازگاری با برنامه های مورد استفاده در سطح سازمان، سازگاری با ديگر سرويس دهنده های تعبير نام نظير BIND، انعطاف پذيری از نظر آينده نگری را حتما لحاظ کنيم. همانطور که گفتم DNS قلب Active Directory است و کليه سرويسها، برنامه ها و بطور کل منابع موجود در شبکه همگی برای ارائه خدمات خود به يک DNS امن، مطمئن و سريع در پاسخگویی به درخواستها نياز دارند پس در پياده سازی آن دقت کنيد و واضح است که با توجه به نقش حياتی آن بايد Redundancy را نيز فراموش نکنيد.

طراحی Organization Units و Group Policy
برای پياده سازی يک طرح کلی برای Organization Unitها در يک سازمان ميتوان تقسيم بندی را بر اساس موقعيت جغرافيایی، نام و يا وظايف بخشهای سازمان (Sales, Marketing, Warehouse…) و يا متناسب با نياز های امنيتی انجام داد. در اغلب موارد با توجه به ساختار کوچک و ساده ای که مشاغل در کشور ما دارند ميتوانيم با استفاده از OUها تمامی نياز سازمان را پوشش دهيم و نيازی به يک مدل چند Domain نيست و بهتر است هميشه قبل از اينکه تصميم بگيريم يک مدل Multi-Domain اجرا کنيم ابتدا بطور دقيق بررسی کنيم که آيا Organization Unitها ميتوانند پاسخگوی نياز باشند يا خیر و بی مورد سيستم را پيچيده نکنيم. اضافه کردن يک Domain جديد کار سختی نيست ولی حذف کردن يک Domain که تشخيص داده شده لزومی به وجود آن نيست کار ساده ای نخواهد بود پس سعی کنيد از مدلهای ساده شروع کنيد و در وصورت براورده نشدن نيازها و يا محدوديتهای امنيتی کار را به يک سيستم Muti-Domain بسط دهيم.
و اما مساله Group Policy که در بکار گيری آن بسيار دقت نمود.Group Policy يکی از امکانات جديدی است که ويندوز 2000 را از NT 4.0 متمايز ميکند و امکان کنترل بسيار بالايی در سطح دسترسیها، پياده سازی و اعزام برنامه ها، نظارت، امنيت و بسياری ديگر از موارد در ابعاد سازمانی برای سيستم به ارمغان مياورد با گشت و گذار در قسمتهای مختلف Group Policy به اهميـت و قابليتهای آن پی خواهيد برد ولی مساله ای که در اينجا دوست دارم به آن اشاره کنم اين است که حتما برای پياده سازی Group Policy يک برنامه مشخص داشته باشيد و مکتوب سازی را نيز فراموش نکنيد. استفاده بی مورد و بیش از حد از Group Policy کارايی سيستم را بطور قابل ملاحظه ای تحت تاثير منفی قرار ميدهد و اگر اينکار بدون مکتوب سازی صورت گرفته باشد پيچيدگی سيستم را بيشتر و بيشتر ميکند و بعضاً روند عيب يابی را با کندی مواجه ميسازد و گاهی هم کاملا متوقف ميکند.
Group Policy گزينه ای جالب و جذاب و از طرفی خطرناک در صورت استفاده غير اصولی از آن ميباشد و پياده سازی آن نياز به کمی دقت، حوصله و ريز بينی دارد.
+ نوشته شده در  سه شنبه هجدهم مرداد 1384ساعت 17:25  توسط اسماعیل مجرد  | 
قبل از تصميم گيري براي نصب و راه اندازي TCP\IP بر روي لينوكس بايد از آماده بودن فايل سيستم براي اين كار مطمئن شويد. براي اين كار كافي است چند گام ساده را طي كنيد. نخست آنكه بايد از نصب بودن نرم افزار شبكه اطمينان بيابيد. اين موضوع در زمان نصب لينوكس از كاربر سوال مي شود و در اكثر مواقع و در بيشتر توزيع هاي لينوكس بهصورت پيش فرض انتخاب شده است. توجه داشته باشيد كه دايركتوري proc \ يكي از مكان هايي است كه اطلاعات شبكه اي لينوكس در آنجا ذخيره مي شود. وجود اين دايركتوري يكي از نشانه هاي نصب بودن امكانات شبكه اي در لينوكس است. زماني كه از محتويات دايركتوري proc \ ليست مي گيريد (يعني با دستور cd به اين مسير برويد و سپس فرمان ls را اجرا كنيد). در صورتي كه دايركتوري proc \ در سيستم شما موجود نباشد به احتمال زياد ناگزير خواهيد بود كه كرنل سيستم عامل خود را مجددا” كامپايل كرده و گزينه \proc را برگزينيد. به اين منظور بايد به دايركتوري سورس لينوكس يعني \usr\src\linux تغيير مسير داده و روتين تنظيمات (يا configuration ) كرنل را اجرا كنيد. دستور اين كار چنين است:Make config اگر در محيط گرافيكي X-windows كار مي كنيد،مي توانيد از ابزارهاي گرافيكي استفاده كرده و دستور مقابل را تايپ كنيد: Make xconfig در زمان كامپايل كرنل از شما سوال مي شود كه آيا به پشتيباني از procfs نياز داريد يا خير.به اين مورد پاسخ مثبت دهيد. همين موضوع باعث ساخته شدن دايركتوري \proc در سيستم شما خواهد شد. دايركتوري \proc هميشه در زمان راه اندازي لينوكس به طور خودكار mount مي شود. وجود خطي مشابه با خط زير در فايل \etc\fstab شرايط mount خودكار اين دايركتوري را فراهم مي كند. None \ proc proc defaults گام بعدي كه قبل از نصب و راه اندازي TCP\IP لازم است برداشته شود،انتخاب نام ميزبان (hostname ) سيستم است. براي اين كار مي توان از دستور مقابل استفاده كرد: Hostname…name… در دستور بالا به جاي name نام مورد نظر خود را براي ميزبان قرار دهيد. در اينجا ذكر اين نكته ضروري است كه اگر سيستم شما در شبكه قرار دارد و در نتيجه داراي يك نام domain كامل هستيد،مي توانيد در دستور فوق از نام كامل سيستم و Domain استفاده كنيد. مثلا” : Hostnameyourname.yourdomain.com در هر صورت يك ورودي جديد در فايل etc\hosts\ ساخته خواهد شد كه منعكس كننده نتيجه اجراي دستور بالاست. توصيه مي شود كه از اين موضوع براي اطمينان از صحت عملكرد دستور قبلي حتما” استفاده كنيد. نكته ديگري كه بايد قبل از راه اندازي TCP\IP بر روي سيستم خود در نظر بگيريد آن است كه بايد يك نشاني IP براي شناسايي سيستم خود در شبكه انتخاب كنيد. به طور معمول فايل etc\netyworks شامل تمامي نام ها و نشاني هايي است كه سيستم شما در شبكه با آن ها سرو كار دارد. نرم افزارهاي كاربردي از اطلاعات موجود در اين فايل براي تعيين نشاني هاي مقاصد منابع موجود در شبكه استفاده مي كنند. در فايل etc.networks دو ستون براي فهرست كردن نام سمبوليك و نشاني IP منابع شبكه در نظر گرفته شده است. در بسياري از موارد در فايل هاي etc\networks مدخلي براي درايور loopback وجود دارد. در زير نمونه اي از يك فايل etc\networks آورده شده است: Loopback 12.0.0. Marlin-net 147.154.0 BNR 47.0.0.0 در نمونه فايل فوق،دو شبكه به همراه نشاني هاي IP آن ها ثبت شده اند. توجه داشته باشيد كه در نشاني هاي IP فقط بخش شبكه در نشاني IP ذكر شده است و به جاي بخش انتهايي نشاني ها،صفر قرار داده شده است.

رابط شبكه
يكي از كارهاي ديگري كه در شبكه بندي لينوكس بايد انجام شود،تعيين رابط شبكه براي سيستم عامل و ديگر ابزارهاي نرم افزاري آن است. اين كار توسط دستور ifconfig انجام مي شود. اجراي اين دستور به همراه ذكر نشاني IP باعث مي شود تا لايه شبكه كرنل لينوكس بتواند با رابط شبكه ارتباط برقرار كند. بدين ترتيب سيستم عامل مي تواند از طريق رابط شبكه به تبادل اطلاعات با دنياي خارج بپردازد. كاربر بايد به ازاي هر يك از درايوهاي شبكه،رابط هاي شبكه مربوط را برپاكند،بدين معني كه بايد براي هر يك از درايوهاي شبكه،رابط هاي شبكه مربوط را بر پا كند. بدين معني كه بايد براي هر يك از درايوهاي ppp ,loopback و يا اترنت،يك بار فرمان ifconfig اجرا شود. ترتيب كار به صورت زير است: ifconfig interface-name ip- address در دستور بالا،به جاي interfacename بايد نام اختصاري درايور قرار داده شود. بعد از آن كه دستور ifconfig اجرا شد و در نتيجه رابط شبكه فعال گرديد. كاربر بايد از دستور route براي ايجاد و يا حذف مسيرها در جدول مسير يابي (routing table ) كرنل استفاده كند. اين عمل از آن جهت اهميت دارد كه سيستم بتواند توسط جدول مسيريابي ،ديگر منابع شبكه را بيابد. از دستور فوق به صورت زير استفاده مي شود: Route add\delip-address توجه داشته باشيد در هر مورد استفاده از دستور فوق بايد يكي از حالات add يا del بكار برده شوند. در صورتي كه بخواهيد محتويات فعلي جدول مسيريابي سيستم را مشاهده كنيد،مي توانيد به اين صورت عمل كنيد: $ Route (يعني استفاده از دستور route بدون هيچ سوئيچ ) اگر اين دستور را اجرا كنيد،ممكن است چيزي شبيه متن زير ببينيد.(در اين مثال،سيستم مورد نظر فقط داراي مدخل درايور loopback بوده است)
$route
Kernel Routing table
Destination Gateway Genmask Window Use Lface
Loopback *255.0.0.0u1936 0 16 lo
يادآوري مي كنيم كه يك روش ديگر نمايش داده هاي جدول مسيريابي ،استفاده ا زدستور مقابل است: Netstat –rn در دستور فوق سوئيچ r باعث نمايش جدول مسيريابي و سوئيچ n منجر به نمايش نشاني هاي ip به جاي اسامي نمادين مي شوند. در جداول مسيريابي ستون هايي كه اهميت دارند. ستون مربوط به نام مقصد مثلا” loopback ،ستون مربوط به ماسك مانند Genmask و نهايتا” ستون نام رابط شبكه هستند. شما مي توانيد توسط دستور route به همراه سوئيچ n ،داده هاي جدول مسيريابي را به صورتي مشاهده كنيد كه در آن به جاي اسامي سمبوليك،از نشاني هاي ip استفاده شده باشد. همان طور كه قبلا” اشاره شد،در شرايط معمول سيستم هاي مجهز به سيستم عامل لينوكس داراي يك رابط loopback و يك رابط شبكه نظير اترنت هستند كه بايد به ترتيب تنظيم شوند.

تنظيم رابط loopback
همان طور كه قبلا” اشاره كرديم ،رابط loopback توسط برخي از نرم افزارها براي كاركرد طبيعي مورد استفاده قرار مي گيرد.از آن گذشته تعداد ديگري از نرم افزارهاي كاربردي تحت لينوكس نيز از اين رابط براي كاربردهاي عيب يابي كمك مي گيرند. يادآوري مي كنيم كه نشاني ip يك رابط شبكه loopback به صورت 127.0.0.1 نوشته مي شودو فايل etc\hosts\ بايد يك ورودي براي loopback باشد. در اين جا مناسب است كه خاطر نشان كنيم كه نشاني loopback را مي توان به صورت هاي گوناگوني نوشت و اصولا” هر نشاني به فرم 127.x.x.x (x به معني عددي بين 0 تا 255 است) پذيرفتني است. اينكه چرا عادت كرده ايم كه از يونيكسي اوليه چنين مرسوم بوده است. در صورتي كه ورودي مربوط به رابط loopback در فايل \etc\hosts ثبت نشده ifconfig lo استفاده كنيم.

تنظيم رابط اترنت
براي تنظيم اترنت (مثلا” كارت شبكه) هم مي توانيد همان مراحل قبلي را مجدد تكرار كنيد. فقط توجه داشته باشيد كه نام رابط شما چيزي مانند eth0 يا eht 1 است و نشاني ip را نيز بايد به نشاني ip انتخابي خود تغيير دهيد. در اين جا زماني كه قصد اجراي دستور ifconfig را براي رابط شبكه داريد،نيازي به مشخص كردن ماسك شبكه نخواهيد داشت. زيرا سيستم عامل مي تواند مقدار پارامتر ماسك را به طور خودكار از نشاني ip داده شده به دست آورد. به عنوان مثال مي توانيد براي ثبت نشاني 147.123.20.1 از يكي از خطوط زير استفاده كنيد:
Ifconfig 147.123.20.1 ifconfig 147.123.20.1 nemask 255.25.255.0 براي بررسي صحت انجام عمليات مي توانيد بار ديگر از دستور ifconfig eht 0 استفاده كنيد. نشاني Broadcast بر اساس نشاني ip سيستم محلي تنظيم شده است. اين عمل از آن جهت توسط TCP\IP انجام مي گيرد كه تمام سيستم هاي موجود در شبكه به يك باره در دسترس قرار گيرند. مقدار و اندازه Maximum Transfer Unit هم به طور معمول بر اساس استانداردهاي شبكه هاي اترنت به مقدار حداكثر مجاز يعني 1500 تنظيم مي شود. همان طور كه مي دانيد گام بعدي اضافه كردن نشاني اترنت به جدول مسيريابي كرنل است . نشاني ip مورد نياز براي همراهي در دستور route همان نشاني شبكه بدون ذكر پارامتر محلي است . براي آنكه تمام شبكه محلي را در يك نوبت پوشش دهيم،از گزينه net در دستور route كمك مي گيريم. در نتيجه شكل استفاده از دستور route براي مثال ما به صورت زير خواهد بود:Route add –net 147.123.20.0 اين دستور تمامي سيستم هاي موجود در شبكه محلي را كه توسط نشاني 147.123.20.0 شناسايي مي شوند، را به جدول مسيريابي اضافه مي كند. در سيستم هاي موجود در شبكه را به صورت دستي به جدول مسيريابي اضافه كنيد. روش ديگر آن است كه از فايل \etc\networks فقط براي مشخص كردن بخش فهرست هايي از نام ها و نشاني هاي ip باشد،به عنوان مثال در صورتي كه در اين فايل ،ورودي مربوط به شبكه اي به نام foobamet داشته باشيم،مي توانيم تمام شبكه كمك دستور زير به جدول مسيريابي اضافه كنيم: Route add foobar-net استفاده از فايل etc\networks اين اشكال امنيتي را به همراه دارد كه به تمام سيستم هاي موجود در شبكه اجازه دسترسي و مجوزهاي يكساني داده مي شود. پس از آنكه مسيرها به جدول مسيريابي كرنل اضافه شدند،مي توانيد براي بررسي صحت تنظيمات،از دستور ping براي هر يك از سيستم هاي شبكه استفاده كنيد. براي اين كار يا بايد نام سيستم مقصد را داشته باشيد و يا آنكه نشاني ip آن را بدانيد. اين اطلاعات مي توانند از طريق فايل \etc\hosts و يا سرويسي مانند DNS به دست آيند. پس از آنكه مراحل فوق به درستي انجام گرديدند،سيستم لينوكس شما قادر خواهد بود كه به هر يك از سيستم هاي موجود در شبكه محلي توسط پروتكل TCP\IP متصل شود. در صورتي كه شبكه مورد نظر كوچك باشد،اين عمل كفايت مي كند و كار در همين جا خاتمه يافته مي شود . اما در شبكه هاي بزرگتر و يا شبكه هايي كه از پروتكل هاي ويژه اي استفاده مي كنند و يا در آن ها Gateway به كار رفته باشد،نياز به طي مراحل ديگري وجود خواهد داشت. در صورتي كه قصد اضافه كردن سيستم هاي ديگري را به شبكه داشته باشيد كه از TCP\IP استفاده مي كنند،مي توانيد همانند مراحل قبلي ،نام و نشاني IP هاي آن ها را به فايل \etc\hosts اضافه كنيد. سيستم هايي به نام godzilla و godzilla.tpci ،مجهز به سيستم عاملي (كه از TCP\IP پشتيباني مي كند)هستند. و قادرند به كمك teinet يا ftp به سيستم لينوكسي ما متصل شوند (توجه داشته باشيد كه كاربر چنين سيستم هايي فقط زماني قادر خواهد بود به سيستم شما login كند كه مجوزهاي مربوط را براي آنها تنظيم كرده باشيد.) در صورتي كه نام يا نشاني يك سيستم راه دور در فايل \etc\hosts ثبت شده باشد،شما قادر خواهيد بود كه توسط ابزارهايي مانند telnet يا ftp با آن سيستم ارتباط داشته باشيد.
Name service و Name resolver
پروتكل TCP\IP از ورودي هاي فايل \etc\hosts براي ترجمه اسامي به نشاني هاي IP استفاده مي كند. به عنوان مثال،زماني از نامي مانند darkstar را در آن بيابد. در صورتيكه چنين ورودي در اين فايل موجود نباشد، شما قادر به اتصال چنين سيستمي نخواهيد بود. اما تصور كنيد كه تعداد سيستم هاي موجود در شبكه زياد باشند و شما قصد اتصال به تعداد بيشتري از سيستم ها را داشته باشيد و در اين صورت تنظيم و اضافه كردن يكايك نام ها و نشاني هاي ip به جدول مسيريابي كاري خسته كننده و زمان برخواهد بود. سرويس BIND كه مخفف عبارت Beekeley internet Name Domain Service است براي حل اين مشكل ايجاد شده است. بعدها BIND در DNS يا Domain Name System نيز پياده سازي شد. در حال حاضر اكثر توزيع هاي لينوكس به BIND مجهز هستند و در بعضي از نسخه ها هم DNS از قبل پياده سازي شده است. BIND و DNS هر دو مقوله هاي پيچيده اي هستند كه بسياري از كاربران لينوكس را فراري مي دهند. در صورتي كه شبكه شما به يك DNS سرور متصل باشد و يا آنكه قصد استفاده ا زسرور DNS ISP را داشته باشيد،نيازي به اجراي BIND بر روي سيستم خود نخواهيد داشت. اما در عوض بايد سيستم خود را به گونه اي تنظيم كنيد كه قادر به استفاده از سرور DNS باشد. در چنين مواقعي،به جاي آن كه نام ها و نشاني هاي يكايك سيستم هاي متصل به شبكه را به فايل \etc\hosts اضافه كنيد،كلانيت DNS و يا مجموعه اي از روتين هاي كتابخانه اي در لينوكس،فراخواني مي شوند و با استفاده از سرور DNS نام هاي مورد نظر را به نشاني هاي مربوطه آن ها ترجمه يا Resolver مي كنند. Name Resolver توسط فايل \etc\resolv.conf تنظيم مي شود. به طور معمول اين فايل شامل راهنماي (directive ) جستجو و راهنماي Name server است. راهنماي جستجو به شكل زير به كار برده مي شود: Searchdomain 1 domain2 domainN در عبارت فوق هر يك از domain ها توسط فهرستي از پسوندهاي دامنه اي جايگزين مي شوندكه Name Resolver به اسامي ميزباني اضافه مي كند كه به صورت كامل مشخص نشده باشد.به عنوان مثال،راهنماي جستجوي زير توجه كنيد: Search xyz.com us.xyx.com europe.xyz.com در صورتي كه نامي مانند http://www.abc.com به كار گرفته شده باشد،مي گوييم كه اين نام به صورت كامل بيان شده است. در چنين وضعيتي ،از راهنماي جستجو استفاده نخواهد شد. اما اگر يك سرويس TCP\IP از نامي مانند WWW استفاده كند كه به شكل كامل نيست،در اين صورت راهنماي جستجو سعي خواهد كرد تا اين نام را به ترتيب به صورت اسامي مشابه با http://www.xyz.com و http://www.us.xyz.com و ... تعبير كند. سرورهاي DNS مورد استفاده Name Resolver توسط راهنماي nameserver مشخص مي شود: Nameserver ipaddress كه در آن پارامتر ipaddress نشاني ip سرور DNS است. به عنوان مثال در صورتي كه نخستين سرور DNS داراي نشاني IP برابر با 199.231.13.10 باشد، در اين صورت راهنماي DNS به شكل زير خواهد شد: Nameserver 100.231.13.10 در هر مورد مي توان حداكثر مي توان سه نشاني سرور DNS مشخص كرد كه هر يك داراي راهنماي nameserver خود هستند و در يك خط ثبت مي شوند. مطلب ديگري كه مي تواند توسط كاربر تنظيم شود،ترتيب مراجعه به DNS يا فايل \etc\hosts در زمان ترجمه نام است. بدين ترتيب معني كه كاربر مي تواند با كمك فايل \etc\nsswitch.conf انتخاب كند كه براي ترجمه نام،نخست به DNS مراجعه شود و سپس به فايل \etc\hosts و يا بر عكس . در هنگام استفاده از سيستم هاي بزرگ و يا در زماني كه قصد استفاده از تمام سرويس هاي اينترنتي در سيستم لينوكس خود داشته باشيد،لازم خواهد بود كه مشخصه هاي BIND به درستي تنظيم شده باشند،خوشبختانه چنين تنظيمي فقط كافي است كه يك بار انجام شود. براي اين كار به نرم افزار BIND نياز خواهد بود كه در اكثر توزيع هاي جديد لينوكس پيش بيني شده است.

دروازه يا Gateway
زماني كه دو يا چند شبكه به يكديگر متصل مي شوند،از Gateway استفاده مي شود. Gateway ماشيني است كه به عنوان رابط بين چند شبكه عمل مي كند و اطلاعات را بر اساس نشاني هاي ip آن ها به شبكه هاي مربوطه هدايت و مسيردهي مي كند. زماني كه قرار باشد يك سيستم لينوكسي به عنوان Gateway كار كند،بايد چند تغيير در تنظيمات فايل هاي configuration شبكه اعمال شود. براي آنكه بتوان از سرويس هاي يك سيستم ديگر به عنوان Gateway استفاده كرد،بايد به جدول مسيريابي،اطلاعاتي از Gateway قرار باشد شبكه اي را به اينترنت متصل سازد. اين عمل توسط دستور زير قابل تنظيم است: Route add default gw netgate در دستور بالا، natgate نام سيستمي در شبكه است كه قرار است به عنوان يك gateway به كار گرفته شود. اين نام در دستور بالا بعد از كليد واژه gw ذكر مي شود. معني عبارت default در دستور بالا به اين معني است كه تمام سيستم هاي موجود در شبكه قادر به اتصال به اينترنت از طريق Gateway هستند. در صورتي كه قصد ارتباط دادن دو شبكه توسط يك Gateway در بين باشد،بايد نام شبكه دوم در فايل etc\networks\ قيد شده باشد و در اين صورت شكل نوشتاري دستور route به صورت زير است: Route add big-corp gw gate-serv در دستو رفوق از سيستمي به نام gateserv براي دسترسي به شبكه اي به نام bigcorp مي توان استفاده كرد. نكته ديگر آنكه اگر به همين جا اكتفا شود،كاربران فقط قادر خواهند بود كه اطلاعات را به سيستم ها ي مقصد در شبكه دوم ارسال كنند و قابليت دريافت اطلاعات از آن سيستم ها وجود نخواهد داشت. براي حل اين مسئله لازم است كه در جداول مسيريابي سيستم هاي شبكه دوم تنظيماتي انجام شود. اگر قصد استفاده از سيستم محلي خود را به عنوان ارتباط دهنده دو شبكه داشته باشيد،بايد سيستم خود را به دو كارت شبكه ( يا دو اتصال PPP و يا SLIP ) مجهز كنيد. فرض كنيد كه قصد استفاده از سيستم خود را براي اتصال دو شبكه به نام هاي Small-net و big-net داشته باشيم و شرايط سخت افزاري اين كار فراهم شده باشد. نخستين گام آن است كه رابط هاي اترنت كارت هاي شبكه هر يك با نشاني هاي خودشان تنظيم شوند. به عنوان مثال ممكن است سيستم شما در شبكه بزرگ تر داراي نشاني ip برابر با 163.12.34.36 باشد و در شبكه كوچك تر نشاني سيستم 147.123.12.1 باشد. در اين صورت لازم خواهد بود كه دو ورودي در فايل \etc\hosts براي ساده تر عمل ترجمه نام (Name resolution ) ايجاد كنيم. مثلا” به اين ترتيب 163.12.34.36 merlin.big-net.com merlin-iface1
147.123.12.1 merlin.small-net.com merlin-iface2
در اين مثال فرض شده است كه سيستم شما در هر دو شبكه داراي نام merlin است كه كاملا” قانوني است در مورد فوق اسامي رابط ها نيز به جهت سهولت قيد شده اند. پس از اين مرحله بايد از فرمان ifconfig براي برقراري ارتباط بين رابط ها و اسامي هاي به كار رفته در فايل \etc\hosts استفاده كنيم: ifconfig eth 0 merlin-iface1 ifconfig eth1merlin-iface2
و نهايتا” لازم است كه جدول مسيريابي را تغيير دهيم. براي اين كار از دستورات زير به صورت مشخص شده بايد استفاده كنيم: Route add big-net Route add small-net
زماني كه اين مراحل به درستي انجام شوند، مي توانيد از سيستم خود به عنوان يك Gateway براي برقراري ارتباط بين دو شبكه استفاده كنيد.

استفاده از ابزارهاي گرافيكي براي تنظيمات رابط هاي شبكه
تا اينجا از دستوراتي استفاده كرديم كه تمام مراحل لازم براي ايجاد و تنظيمات شبكه را از ابتداي كار توصيف مي كردند. زماني كه لينوكسي راه اندازي مي شود، به طور معمول نيازي به اجراي اسكريپت هايي نظير اسكريپت هاي فوق را نخواهيد داشت،علت اين موضوع آن است كه چنين اسكريپت هايي به طور خودكار در زمان راه اندازي اجرا مي شوند. اما اشكال كار در اينجا است كه اين اسكريپت ها ممكن است از يك توزيع لينوكس به توزيع ديگري كمي تفاوت داشته باشند،به عنوان مثال لينوكس هايي مانند slackware كه از اسكريپت هايي به سبك يونيكس BSD استفاده مي كنند. با لينوكس هايي مانند RedHat يا Fedora كه از اسكريپت هاي به سبك يونيكس VR4 پيروي مي كنند،از نظر اسكريپت هاي Shell ، تفاوت دارند. اما خوشبختانه،توزيع عاي لينوكس امروزي به همراه ابزارهاي گرافيكي عرضه مي شوند كه كار تنظيمات شبكه را تا حد بسيار زياد تسهيل مي كنند. اين ابزارها به طور خودكار تغييرات و ويرايش هاي شما را در اسكريپت هاي راه اندازي اعمال مي كنند. يكي از نخستين ابزارهاي گرافيكي تنظيمات لينوكس ، netcfg نام دارد . براي راه اندازي اين ابزار كافي است كه نام آن را از خط فرمان اجرا كنيد.

Linuxconf
ابزار بسيار قوي ديگر،linuxconf نام دارد كه مي توان از آن براي تنظيمات شبكه و بسياري از اعمال مديريتي ديگر استفاده كرد. از آنجايي كه از اين ابزار براي مسير دهي و اعمال پيچيده ديگر استفاده مي شود. فراگيري آن و كسب مهارت در آن كاملا” منطقي است. براي راه اندازي اين ابزار هم مي توانيد به سادگي نام آن را از خط فرمان اجرا كنيد. البته برنامه هاي گرافيكي ميزكارهايي مانند KDE يا GNOME هم بسته به نسخه لينوكسي كه از آن استفاده مي كنيد،ممكن است پيش بيني آيكوني براي فراخواني linuxconf را كرده باشند.
+ نوشته شده در  سه شنبه هجدهم مرداد 1384ساعت 16:53  توسط اسماعیل مجرد  | 
چون اطلاعات خودم نسبت به این موضوع کم است به خاطر همین هر چیزی را که برام تازگی داشته باشه می نویسم اگر اطلاعات ابتدایست به بزرگی خودتون ببخشید و با نظرهای خودتون مرا در این را یاری کنید.

به امید موفقیت برای همه شما عزیزان 

DNS از کلمات Domain Name System اقتباس و  يک پروتکل شناخته شده در عرصه شبکه های کامپيوتری خصوصا" اينترنت است . از پروتکل فوق به منظور ترجمه  اسامی کامپيوترهای ميزبان و Domain به آدرس های IP استفاده می گردد. زمانی که شما آدرس www.srco.ir را در مرورگر خود تايپ می نمائيد ، نام فوق به يک آدرس IP و بر اساس يک درخواست خاص ( query )  که از جانب کامپيوتر شما صادر می شود ، ترجمه می گردد . 

تاريخچه DNS
DNS ، زمانی که اينترنت تا به اين اندازه گسترش پيدا نکرده بود و صرفا" در حد و اندازه يک شبکه کوچک بود ، استفاده می گرديد . در آن زمان ، اسامی کامپيوترهای ميزبان به صورت دستی در فايلی با نام HOSTS درج می گرديد . فايل فوق بر روی يک سرويس دهنده مرکزی قرار می گرفت . هر سايت و يا کامپيوتر که نيازمند ترجمه اسامی کامپيوترهای ميزبان بود ، می بايست از فايل فوق استفاده می نمود . همزمان با گسترش اينترنت و افزايش تعداد کامپيوترهای ميزبان ، حجم فايل فوق نيز افزايش و  امکان استفاده از آن با مشکل مواجه گرديد ( افزايش ترافيک شبکه ). با توجه به مسائل فوق ، در سال 1984 تکنولوژی DNS معرفی گرديد .

پروتکل DNS
DNS  ، يک "بانک اطلاعاتی توزيع شده " است  که بر روی ماشين های متعددی مستقر می شود ( مشابه ريشه های يک درخت که از ريشه اصلی انشعاب می شوند ) . امروزه اکثر شرکت ها و موسسات دارای يک سرويس دهنده DNS کوچک در سازمان خود می باشند تا اين اطمينان ايجاد گردد که کامپيوترها بدون بروز هيچگونه مشکلی ، يکديگر را پيدا می نمايند . در صورتی که از ويندوز 2000 و اکتيو دايرکتوری استفاده می نمائيد، قطعا" از DNS به منظور  ترجمه اسامی کامپيوترها به آدرس های IP ، استفاده می شود . شرکت مايکروسافت در ابتدا نسخه اختصاصی سرويس دهنده DNS  خود را با نام ( WINS ( Windows Internet Name Service  طراحی و پياده سازی نمود . سرويس دهنده فوق مبتنی بر تکنولوژی های قديمی بود و از پروتکل هائی استفاده می گرديد که هرگز دارای کارائی مشابه DNS نبودند .  بنابراين طبيعی بود که شرکت مايکروسافت از WINS فاصله گرفته و به سمت DNS حرکت کند . 
از پروتکل
DNS  در مواردی که کامپيوتر شما اقدام به ارسال يک درخواست مبتنی بر DNS برای يک سرويس دهنده نام به منظور يافتن آدرس Domain  می نمايد ، استفاده می شود .مثلا" در صورتی که در مرورگر خود آدرس www.srco.ir  را تايپ نمائيد ،  يک درخواست مبتنی بر DNS از کامپيوتر شما و به مقصد يک سرويس دهنده DNS صادر می شود . ماموريت درخواست ارسالی ، يافتن آدرس IP وب سايت سخاروش است .

پروتکل DNS و مدل مرجع OSI
پروتکل
DNS معمولا" از پروتکل UDP به منظور حمل داده استفاده می نمايد . پروتکل UDP نسبت به TCP دارای overhead کمتری می باشد. هر اندازه overhead يک پروتکل کمتر باشد ، سرعت آن بيشتر خواهد بود . در مواردی که حمل  داده با استفاده از پروتکل UDP با مشکل و يا بهتر بگوئيم خطاء مواجه گردد ، پروتکل DNS از پروتکل TCP به منظور حمل داده استفاده نموده تا اين اطمينان ايجاد گردد که داده بدرستی و بدون بروز خطاء به مقصد خواهد رسيد .

فرآيند ارسال يک درخواست DNS و دريافت پاسخ آن ، متناسب با نوع سيستم عامل نصب شده بر روی يک کامپيوتر است .برخی از سيستم های عامل اجازه  استفاده از پروتکل TCP برای DNS را نداده و صرفا"  می بايست از پروتکل UDP  به منظور حمل داده استفاده شود . بديهی است در چنين مواردی همواره اين احتمال وجود خواهد داشت که با خطاهائی مواجه شده و عملا" امکان ترجمه نام يک کامپيوتر و يا Domain به آدرس IP وجود نداشته باشد .
پروتکل
DNS از پورت 53 به منظور ارائه خدمات خود استفاده می نمايد . بنابراين  يک سرويس دهنده DNS به پورت 53 گوش داده و اين انتظار را خواهد داشت که هر سرويس گيرنده ای که تمايل به استفاده از سرويس فوق را دارد از پورت مشابه استفاده نمايد . در برخی موارد ممکن است مجبور شويم از پورت ديگری استفاده نمائيم . وضعيت فوق به سيستم عامل و سرويس دهنده DNS نصب شده بر روی يک کامپيوتر بستگی دارد.

ساختار سرويس دهندگان نام دامنه ها در اينترنت
امروزه بر روی اينترنت ميليون ها سايت با اسامی
Domain ثبت شده  وجود دارد . شايد اين سوال برای شما تاکنون مطرح شده باشد که اين اسامی چگونه سازماندهی می شوند ؟ ساختار DNS بگونه ای طراحی شده است که يک سرويس دهنده DNS ضرورتی به آگاهی از تمامی اسامی Domain ريجستر شده نداشته و صرفا" ميزان آگاهی وی به يک سطح بالاتر و يک سطح پائين تر  از خود محدود می گردد . شکل زير بخش های متفاوت ساختار سلسله مراتبی DNS را نشان می دهد :

internic ، مسئوليت کنترل دامنه های ريشه را برعهده داشته که شامل تمامی Domain های سطح بالا می باشد ( در شکل فوق به رنگ  آبی نشان داده شده است) . در بخش فوق تمامی سرويس دهندگان DNS  ريشه قرار داشته و آنان دارای آگاهی لازم در خصوص دامنه های موجود  در سطح پائين تر از خود می باشند ( مثلا" microsoft.com ) . سرويس دهندگان DNS ريشه مشخص خواهند کرد که کدام سرويس دهنده DNS در ارتباط با دامنه های microsoft.com و يا Cisco.com می باشد .
هر domain شامل يک Primary DNS  و يک  Secondary DNS می باشد . Primary DNS ، تمامی اطلاعات مرتبط با Domain خود را نگهداری می نمايد. Secondary DNS به منزله يک backup بوده و در مواردی که Primary DNS با مشکل مواجه می شود از آن استفاده می گردد . به فرآيندی که بر اساس آن يک سرويس دهنده Primary DNS اطلاعات خود را در سرويس دهنده Secondary DNS تکثير می نمايد ، Zone Transfer  گفته می شود .
امروزه صدها وب سايت وجود دارد که می توان با استفاده از آنان يک
Domain  را ثبت و يا اصطلاحا" ريجستر نمود . پس از ثبت يک Domain ، امکان مديريت آن در اختيار شما گذاشته شده و می توان رکوردهای منبع (RR ) را در آن تعريف نمود.  Support, www و Routers  ، نمونه هائی از رکوردهای منبع در ارتباط با دامنه Cisco.com می باشد. به منظور ايجاد Subdomain می توان از يک برنامه مديريتی DNS استفاده نمود .  www و يا هر نوع رکورد منبع ديگری را  می توان با استفاده از اينترفيس فوق تعريف نمود . پس از اعمال تغييرات دلخواه خود در ارتباط با Domain ، محتويات فايل های خاصی که بر روی سرويس دهنده ذخيره شده اند  نيز تغيير نموده و در ادامه تغييرات فوق به ساير سرويس دهندگان تائيد شده اطلاع داده می شود . سرويس دهندگان فوق ، مسئوليت Domain شما را برعهده داشته و در ادامه تمامی اينترنت که به اين سرويس دهندگان DNS متصل می شوند از تغييرات ايجاد شده آگاه و قادر به برقراری ارتباط با هر يک از بخش های Domain  می گردند.
مثلا" در صورتی که قصد ارتباط با  Support.Cisco.com را داشته باشيد، کامپيوتر شما با سرويس دهنده DNS که مسئوليت مديريت دامنه های Com. را دارد ، ارتباط برقرار نموده و سرويس دهنده فوق اطلاعات لازم در خصوص دامنه Cisco.com را در اختيار قرار خواهد داد . در نهايت سرويس دهنده DNS مربوط به Cisco.com  ( سرويس دهنده فوق ، تمامی اطلاعات مرتبط با دامنه Cisco.com را در خود نگهداری می نمايد ) ، آدرس IP کامپيوتر مربوط به Support.Cisco.com را مشخص نموده تا امکان برقراری ارتباط با آن فراهم گردد .

+ نوشته شده در  سه شنبه هجدهم مرداد 1384ساعت 16:41  توسط اسماعیل مجرد  | 

با پیشرفت روز بروز شبکه های کامپیوتری از امروز شروع به جمع آوری اطلاعات ریز و درشت در باره شبکه های کامپیوتری خواهم کرد .

از دوستان عزیز و علاقه مند خواهش می کنم اگر مطلبی یا مرجع مطمئنی در این باره دارند نظر بدهند تا من نیز با علاقه بیشتری کار خود را ادامه دهم .

از همه دوستان تشکر می کنم

 packet sniffing چيست ؟
يکی از قديمی ترين روش های سرقت اطلاعات در يک شبکه ، استفاده از فرآيندی موسوم به packet sniffing  است . در اين روش مهاجمان  از تکنيک هائی به منظور تکثير بسته های اطلاعاتی که در طول شبکه حرکت می کنند ، استفاده نموده و در ادامه با آناليز  آنان  از وجود اطلاعات حساس در يک شبکه آگاهی می يابند . امروزه پروتکل هائی نظير IPSec به منظور پيشگيری از packet sniffing طراحی شده است که با استفاده از آن بسته های اطلاعاتی رمزنگاری می گردند . در حال حاضر تعداد بسيار زيادی از شبکه ها از تکنولوژی IPSec  استفاده نمی نمايند و يا صرفا" بخش اندکی از داده های مربوطه را رمزنگاری می نمايند و همين امر باعث شده است که packet sniffing  همچنان يکی از روش های متداول به منظور سرقت اطلاعات باشد  .
يک packet sniffer که در برخی موارد از آن به عنوان network monitor و يا network analyzer نيز ياد می شود ، می تواند توسط مديران شبکه به منظور مشاهده و اشکال زدائی ترافيک موجود بر روی شبکه استفاده گردد تا به کمک آن  بسته های اطلاعاتی خطاگونه و  گلوگاه های حساس شبکه  شناسائی و زمينه لازم به منظور  انتقال موثر داده ها فراهم گردد . به عبارت ساده تر ، يک packet sniffer تمامی بسته های اطلاعاتی که از طريق يک اينترفيش مشخص شده در شبکه ارسال می گردند را حمع آْوری تا امکان بررسی و آناليز آنان فراهم گردد . عموما" از برنامه های packet sniffer به منظور جمع آوری بسته های اطلاعاتی به مقصد يک دستگاه خاص استفاده می گردد. برنامه های فوق قادر به جمع آوری تمامی بسته های اطلاعاتی قابل حرکت در شبکه صرفنظر از مقصد مربوطه نيز می باشند .
يک مهاجم با استقرار يک packet sniffer  در شبکه ، قادر به جمع آوری و آناليز تمامی ترافيک شبکه خواهد بود . اطلاعات مربوط به نام و رمز عبور عموما" به صورت متن معمولی و  رمز نشده ارسال می گردد و اين بدان معنی است که با آناليز بسته های اطلاعاتی ، امکان مشاهده اينگونه اطلاعات حساس وجود خواهد داشت .  يک packet sniffer صرفا" قادر به جمع آوری اطلاعات مربوط به بسته های اطلاعاتی درون يک subnet مشخص شده است . بنابراين  يک مهاجم نمی تواند يک packet sniffer را در شبکه خود نصب نمايد و از آن طريق به شبکه شما دستيابی و اقدام به جمع آوری نام و رمز عبور به منظور سوء استفاده از  ساير ماشين های موجود در  شبکه نمايد .  مهاجمان به منظور نيل به اهداف مخرب خود می بايست يک packet sniffer را بر روی يک کامپيوتر موجود در شبکه اجراء نمايند .

نحوه کار  packet sniffing
نحوه کار packet sniffing به روشی برمی گردد که شبکه های اترنت بر اساس آن کار می کنند . در يک شبکه اترنت ، هر زمان که کامپيوتری  يک بسته اطلاعاتی را  ارسال می نمايد ، بسته اطلاعاتی به عنوان يک broadcast ارسال می گردد . اين بدان معنی است که هر کامپيوتر موجود در شبکه بسته های اطلاعاتی ارسالی را مشاهده نموده و بجزء کامپيوتر مقصد ساير دستگاه های موجود از بسته اطلاعاتی صرفنظر خواهند کرد . packet sniffing با کپی يک نسخه از بسته های اطلاعاتی ارسالی در شبکه، فعاليت خود را سازماندهی می نمايد .

آيا روش هائی به منظور تشخيص وجود يک packet sniffer در شبکه وجود دارد ؟
تشخيص وجود يک packet sniffer بر روی شبکه کار آسانی نخواهد بود . برنامه های فوق  به صورت passive در شبکه عمل نموده و به سادگی اقدام به جمع آوری بسته های اطلاعاتی می نمايند  .خوشبختانه ، امروزه با استفاده از روش هائی می توان وجود احتمالی يک packet sniffer را در شبکه تشخيص داد .

روش های تشخيص packet sniffing  در شبکه
همانگونه که اشاره گرديد تشخيص اين موضوع که يک فرد در يک بازه زمانی محدود و همزمان با حرکت بسته های اطلاعاتی در شبکه از يک packet sniffer استفاده می نمايد ، کار مشکلی خواهد بود . با بررسی و آناليز برخی داده ها می توان تا اندازه ای اين موضوع را تشخيص داد :

  •  استفاده از امکانات ارائه شده توسط برخی نرم افزارها : در صورتی که مهاجمان دارای منابع محدودی باشند ممکن است از برنامه کاربردی Network Monitor  برای packet sniffing  استفاده نمايند . يک نسخه محدود از Network Monitor به همراه ويندوز NT و 2000 و  يک نسخه کامل از آن به همراه SMS Server ارائه شده است . برنامه فوق ، گزينه ای مناسب برای مهاجمانی است که می خواهند در کوتاه ترين زمان به اهداف خود دست يابند چراکه استفاده از آن در مقايسه با ساير نرم افزارهای مشابه راحت تر است . خوشبختانه می توان بسادگی از اجرای اين برنامه توسط ساير کاربران در يک شبکه ، آگاهی يافت . بدين منظور کافی است از طريق منوی  Tools گزينه Identify Network Monitor Users  را انتخاب نمود .

  • بررسی سرويس دهنده DNS : در صورتی که مهاجمان از يکی از صدها نرم افزار ارائه شده برای  packet sniffing  استفاده نمايند ، امکان تشخيص سريع آن همانند برنامه Network Monitor  وجود نخواهد داشت . توجه داشته باشيد که يک روش صدرصد تضمينی به منظور تشخيص وجود يک برنامه packet sniffing  در شبکه وجود ندارد ولی با مشاهده نشانه هائی خاص می توان احتمال وجود  packet sniffing  در شبکه را تشخيص داد . شايد بهترين نشانه وجود يک packet sniffing  در شبکه  به بانک اطلاعاتی سرويس دهنده DNS برگردد . سرويس دهنده DNS وظيفه جستجو در بانک اطلاعاتی به منظور يافتن نام host و برگرداندن آدرس IP مربوطه را بر عهده دارد . در صورتی که مهاجمی يک packet sniffing  را اجراء نمايد که اسامی host را نمايش می دهد ( اکثر آنان چنين کاری را انجام می دهند ) ، ماشينی که فرآيند packet sniffing  را انجام می دهد يک حجم بالا از درخواست های DNS را اجراء می نمايد . در مرحله اول سعی نمائيد ماشينی را که تعداد زيادی درخواست های DNS lookups را انجام می دهد ، بررسی نمائيد . با اين که وجود حجم بالائی از درخواست های DNS lookup به تنهائی نشاندهنده packet sniffing  نمی باشد ولی می تواند به عنوان نشانه ای مناسب در اين زمينه مطرح گردد . در صورتی که به يک ماشين خاص در شبکه مشکوک شده ايد ، سعی نمائيد يک ماشين طعمه را پيکربندی و آماده نمائيد . ماشين فوق يک کامپيوتر شخصی است که کاربران از وجود آن آگاهی ندارد . پس از اتصال اين نوع کامپيوترها به شبکه ، يک حجم بالا ی ترافيک بر روی شبکه را ايجاد نموده  و به موازات انجام اين کار درخواست های DNS را بررسی نمائيد تا مشخص گردد که آيا ماشين مشکوک يک درخواست DNS را بر روی ماشين طعمه انجام می دهد . در صورتی که اينچنين است می توان با  اطمينان گفت که ماشين مشکوک همان ماشين packet sniffing است .

  • اندازه گيری زمان پاسخ ماشين های مشکوک : يکی ديگر از روش های متداول برای شناسائی افرادی که از packet sniffing استفاده می نمايند ، اندازه  گيری زمان پاسخ ماشين مشکوک است . روش فوق  مستلزم دقت زياد و تا اندازه ای غيرمطمئن است . بدين منظور از دستور Ping ماشين مشکوک به منظور اندازه گيری مدت زمان پاسخ استفاده می شود .  بخاطر داشته باشيد فردی که عمليات packet sniffing را انجام می دهد تمامی بسته های اطلاعاتی را کپی نخواهد کرد ، چراکه حجم اطلاعات افزايش خواهد يافت . آنان با تعريف يک فيلتر مناسب، صرفا" بسته های اطلاعاتی مورد علاقه خود را تکثير می نمايند (نظير آنانی که برای تائيد کاربران استفاده می گردد ) . بنابراين از تعدادی از همکاران خود بخواهيد که چندين مرتبه عمليات log in و log out را انجام داده و در اين همين وضعيت مدت زمان پاسخ کامپيوتر مشکوک را محاسبه نمائيد . در صورتی که مدت زمان پاسخ زياد تغيير نکند ، آن ماشين احتمالا" عمليات packet sniffing را انجام نمی دهد ولی در صورتی که زمان پاسخ کند گردد ، اين احتمال وجود خواهد داشت که ماشين مشکوک شناسائی شده باشد.

  • استفاده از ابزارهای مختص AntiSniff : شرکت های متعددی اقدام به طراحی و پياده سازی نرم افزارهائی به منظور رديابی و شناسائی packet sniffing  نموده اند . برنامه های فوق از روش های اشاره شده و ساير  روش های موجود به منظور شناسائی packet sniffing در يک شبکه استفاده می نمايند .

+ نوشته شده در  یکشنبه شانزدهم مرداد 1384ساعت 14:37  توسط اسماعیل مجرد  |