محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

BIND چیست؟ معرفی DNS سرور محبوب لینوکس به زبان ساده

یکی از مهمترین سرویس های شبکه های داخلی و البته شبکه های اینترنتی سرویس DNS است و طبیعتا در شبکه های داخلی که از سیستم عامل های مایکروسافت به عنوان سرور استفاده می کنند به دلیل هماهنگی بیشتر با سرویس اکتیودایرکتوری اکثرا از DNS سرور خود مایکروسافت استفاده می شود بنابراین از نظر محبوبیت در شبکه های داخلی مبتنی بر سرویس های مایکروسافت این Microsoft DNS سرور است که پیشتاز است .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما در محیط های اینترنتی و به قول فنی محیط های Public و البته مراکز هاستینگ و دیتاسنترها از نظر من و بسیاری از کارشناسان این حوزه مایکروسافت تقریبا حرفی برای گفتن ندارد و این DNS سرورهای قدرتمند لینوکسی هستند که دنیای Name Resolution را به خودشان اختصاص داده اند ، سرویس های DNS متنوعی در اینترنت بصورت Open Source وجود دارد که در این میان DNS سرور BIND محبوب ترین و پرکاربرد ترین این سرورها است و ما امروز در جزیره لینوکس و Open Source وب سایت توسینسو به آن می پردازیم.

DNS سرور BIND

BIND چیست ؟

BIND را می توان قدیمی تر از قدمت ویندوز مایکروسافت معرفی کرد. BINS یک DNS سرور Open Source برای راه اندازی سرویس های Name Resolution یا به زبان ساده تبدیل اسم به IP و برعکس است که محبوبیت بسیاری در محیط های اینترنتی دارد و Query (پرس و جو) هایی که به آن ارسال می شود را بسیار سریع پاسخ می دهد. جالب است بدانید که نام BIND مخفف کلمه های Berkeley Internet Domain Name است که طبیعتا اگر کمی در خصوص دانشگاه برکلی کالیفرنیا اطلاعات داشته باشید متوجه می شوید که این محصول ساخته دست محققین این دانشگاه در اوایل سال 1980 میلادی است . دلیل محبوبیت BIND را می توان بستر راه اندازی آن نیز دانست ، BIND مثل لینوکس به قدرت ، سرعت و البته قابل اعتماد و اتکا بودن معروف است و هر سازمان یا شخصی که از این DNS سرور استفاده می کند به قول دوستان سیسکویی یکبار آن را پیکربندی می کند و بعد چالش می کند ( در زیر خاک فرو می برد ، استعاره از خیلی خفن بودن ) . این روزها DNS سرورهای مختلفی وجود دارند که برگرفته ای از همین DNS سرور BIND هستند که در دوره LPIC2 کد 202 به معرفی برخی از محبوب ترین آنها می پردازیم.

BIND و رعایت کلیه استانداردهای پروتکل DNS

هیچوقت خاطره استفاده از این DNS سرور را در چند سازمان ایرانی را فراموش نمی کنم ، وقتی آن را با DNS سرور مایکروسافت مقایسه می کردیم فقط وجود چند نکته مهم در خصوص BIND بود که باعث می شد من با خیال راحت آن را پیدا سازی کنم ، BIND قابلیت استفاده چند منظوره ، کلاسیک و یک DNS سرور کامل است که شما می توانید هر انتظاری که از یک DNS سرور دارید را از BIND بصورت کامل داشته باشید. در واقع با توجه به اینکه BIND با پروتکل ها و استانداردهای سرویس DNS به مرور زمان کاملا هماهنگ شده است و آن را پشتیبانی می کند شما می توانید آن را با هر چیزی که دوست دارید هماهنگ کنید با ویندوز ، لینوکس ، یونیکس و ... توزیع BIND شامل تمامی نرم افزارهای لازم برای پرسش و پاسخ از یک سرویس DNS می شود و بصورت کلی ما BIND را به سه قسمت اصلی طبقه بندی می کنیم :

1-قسمت Domain Name Resolver

یک Resolver همانطور که از نامش هم پیداست وظیفه ارسال سئوالات پرسیده شده توسط کاربران به سمت سرورهای مناسب و دریافت و بازگرداندن پاسخ مناسب به سمت کاربر سئوال کننده را بر عهده دارد . شاید برای شما جالب باشد که شما حتی بدون داشتن DNS سرور بر روی سیستم خودتان یک Domain Name Resolver دارید و این الزاما چیزی نیست که در سرویس DNS وجود داشته باشد ، برای مثال در سیستم عامل های ویندوزی این قسمت بر عهده کش DNS و البته فایلی به نام Hosts است که این فرآیند را بصورت Local برای شما انجام می دهد.

در واقع یک Resolver کوچولو موچولو همیشه جزو سیستم عامل های شما هست . بسیاری از سیستم عامل ها ( به غیر از ویندوزی ها ) از کتابخانه ( Library ) ای که BIND دارد برای این Local Resolver استفاده می کنند. اگر Local Resolver شما نتواند به شما پاسخ بدهد درخواست شما را به سمت Cache Resolver که معمولا در حافظه RAM است هدایت می کند و اگر اینجا هم پاسخی دریافت نشد درخواست به سمت سرور یا گروهی از سرورها که بصورت اختصاصی برای سرویس دهی DNS مورد استفاده قرار می گیرند هدایت می شوند. در ادامه فرآیندی به شکل رفت و برگشت یا بازگشتی از DNS سرورهای مجاز یا Authoritative انجام می شود تا در نهایت اسم به IP تبدیل شود که این فرآیند را قبلا در ویدیوهای نتورک پلاس بصورت کامل برای شما در قالب داستان ویدیویی تعریف کرده ایم.

2-قسمت Domain Name Authority Server

من خیلی ساده تعریف Authoritative DNS Server را می دهم و بعد به توضیح این قسمت می پردازیم ، به هر حال شما اگر درخواست یک آدرس دومین را در اینترنت داشته باشید یک DNS سرور در اینترنت وجود دارد که رکوردها و Zone مربوط به آن دومین و رکوردها را درون خودش نگه می دارد ، دقیقا این همان سرور Authoritative ما است ، به زبان ساده تر DNS سروری که رکوردهای Query مورد نظر ما را در خودش دارد Authoritative سرور ما است . این سرور به درخواست هایی که Resolver ها برایش ارسال می کند با توجه به اطلاعاتی که در Zone ها و Domain Name های خودش دارد پاسخ می دهد. با توجه به اینکه در BIND این قسمت را می توان بصورت جداگانه نصب و راه اندازی کرد شما می توانید سرویس DNS را در اینترنت تنها با نصب کردن این نرم افزار بر روی سرور و ایجاد کردن اطلاعات مناسب برای آن راه اندازی کنید.

3-قسمت ابزارها یا Tools

قسمت سوم DNS سرور BIND را می توانیم وجود ابزارهای عملیاتی برای شناسایی و تست کردن سرویس DNS عنوان کنیم . هرچند که این ابزارها الزاما اختصاصی DNS سرور BIND نیستند و بصورت پیشفرض بر روی بسیاری از توزیع های لینوکس وجود دارند اما بد نیست بدانید که ابزاری مثل DIG بصورت خودکار به عنوان ابزار کاربردی BIND استفاده می شود ، ابزارهای دیگری مثل host یا nslookup هم هستند که می توان به عنوان ابزارهای کاربردی DNS نام برد که البته هیچکدام را نمی توان مختص به BIND دانست.

چرا از BIND استفاده کنیم ؟

دلایل زیادی برای استفاده از BIND وجود دارد و خوب اگر نظر من لینوکسی را بخواهید !! همینکه لینوکسی است یکی از دلایل استفاده از این ابزار می تواند باشد ! ( شوخی کردم ) . اولین دلیلی که در استفاده از BIND می توانید داشته باشید انعطاف پذیر بودن آن است ، یعنی اگر سازمان یا شرکت شما قابلیتی را نیاز داشته باشد که BIND نداشته باشد می توانید براحتی برای آن این قابلیت را بنویسید یا به تیم برنامه نویسی یا Community مربوطه پیام بدهید و درخواست قابلیت جدید را داشته باشید و در سریعترین زمان ممکن Package جدید آن را دریافت کنید .

در Repository سیستم عامل قرار بدهید و این چیزی نیست جز قدرت Open Source در دنیای فناوری اطلاعات ، دلیل دوم استفاده از BIND را می توان امکانات کامل این DNS سرور عنوان کرد که حتی امکانات پیشفرض آن نیز می تواند بسیاری از مشکلات ما را در کار حل کند ، تقریبا هر نیازی که از DNS یک Application یا OS داشته باشد درون BIND دیده شده است . اما نکته آخ در خصوص BIND این است که آزمون خودش را پس داده است ، BIND قدیمی ترین و گسترده ترین دامنه استفاده DNS سرورها را دارد و بیشتر مهندسی واقعی شبکه با BIND آشنایی دارند و می توانند با آن ارتباط برقرار کنند ( البته اونهایی که واقعا مهندس هستن ) .

شروع به کار با BIND

در دوره آموزشی LPIC2 کد 202 ما به صورت اختصاصی بر روی نصب و راه اندازی و پیکربندی BIND متمرکز می شویم و خیلی بلاها سر این DNS سرور می آوریم اما بصورت کلی سورس کدهای BIND در همه جا در دسترس است ، جالب اینجاست که حتی فایل اجرایی BIND برای سیستم عامل مایکروسافت هم وجود دارد !! شما براحتی فایل اجرایی را از وب سایت دانلود می کنید و آن را هر جایی که داشتید تقریبا بر روی هر سیستم عاملی اجرا و استفاده می کنید. از UNIX گرفته یا انواع توزیع های Linux و حتی ویندوز قابلیت استفاده و راه اندازی BIND را دارند .

BIND حتی با سیستم عامل های بسیار قدیمی نیز کار می کند و محدودیت چندانی برای نصب بر روی سیستم عامل خاصی ندارد. بصورت کلی کاربران حرفه ای لینوکس و یونیکس BIND را بر روی سیستم عامل های CentOS یا RHEL ، Debian ، Fedora و FreeBSD یا حتی Solaris نصب می کنند اما اونهایی که BIND را بر روی ویندوز نصب می کنند از ما نیستند . ( اوف بر آنها ) امیدوارم که از این مطلب نهایت استفاده را برده باشید ، سعی می کنیم به مرور در توسینسو مطالب بیشتری در خصوص این DNS سرور به شما معرفی کنیم .

نویسنده : محمد نصیری

منبع : جزیره لینوکس و متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات