سرویس DNS مختصر شدهی عبارت Domain Name System سرویس اینترنتی است که ترجمه دامنه به IP را انجام میدهد. شما با استفاده از DNS نه تنها میتوانید دامنه را به IP ترجمه کنید بلکه قادر خواهید بود که IP را نیز به دامنه ترجمه کنید. در ادامه علاوه بر شرح توضیح مختصری پیرامون DNS قصد داریم تا آموزش راه اندازی dns server در لینوکس اوبونتو را به صورت مرحله به مرحله پیش ببریم؛ با ما همراه باشید.
DNS چیست؟
زمانیکه شما به ساخت وب سایت اقدام میکنید، برای ثبت دامنه آن باید نامی انتخاب کنید که به سایت شما اشاره کند. این نام به کمک dns به IP تبدیل شده و در فضای اینترنت شناسایی میشود. لازم به ذکر است که در بیشتر مواقع، این تنظیمات توسط کنترل پنل هاست و ثبت کننده نام دامین انجام میگیرد.
حال بیایید با هم بررسی کنیم DNS server چیست ؟ به زبان ساده، DNS سرور یک دیتابیس بزرگ است که شامل مجموعهای از دامینها و IP های مرتبط را شامل میشود. به عنوان مثال اگر دامین google.com باشد سایت به IP با آدرسDNS ۶۴.۲۳۳.۱۶۷.۹۹ resolve میشود.
برای اینکه از مبحث اصلی مقاله دور نشویم، بیش از این، تعریفات را ادامه نمی دهیم. اما اگر میخواهید به طور دقیقتر با این مفاهیم آشنا شوید پیشنهاد میکنیم فرصت مطالعهی مقالهی DNS چیست را از دست ندهید.
راه اندازی dns server در لینوکس اوبونتو
پیش از شروع فرآیند راه اندازی dns server در لینوکس اوبونتو ، با اجرای دستوراتی که در ادامه عنوان کردهایم، اطمینان حاصل کنید که سیستم عامل شما بروزرسانی شده است.
Step 1- Update System sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade Step 2 – Install DNS package sudo apt-get install bind9
هنگامی که دستورات را اجرا کردید، بهطور پیشفرض، چند بسته دیگر نیز برای نصب پیشنهاد میشود. برای تأیید دانلود و نصب آن بستهها، دکمهی y را فشار دهید.
مرحلهی دوم آموزش نصب dns server در لینوکس
بسته مفید دیگری که برای عیب یابی و تست مشکلات DNS به شما کمک میکند، بسته dnsutils است. با استفاده از دستوری که در ادامه عنوان میکنیم میتوانید از این خدمات استفاده کنید.
sudo apt-get install dnsutils Step 4 – DNS Configuration
معمولاً میتوان فایلهای پیکربندی DNS ذخیره شده در دایرکتوری را در قسمت etc/bind/ پیدا کرد. /etc/bind/named.conf فایل پیکربندی اصلی است که حاوی گزینههای DNS است.
مرحله ی سوم راه اندازی سرور dns در لینوکس ؛ پیکربندی NameServer
- به خاطر داشته باشید که بیشترین میزان استفاده و پیکربندی از سرور شما به صورت پیشفرض به عنوان یک سرور کش است. این بدان معناست که DNS پاسخ کوئریهای نام را دریافت کرده، آن را در حافظه پنهان نگه میدارد و زمانی که دامنه برای بار دیگری مورد جستوجو قرار گرفت، دوباره از همان پاسخ کوئریها استفاده میکند. بنابراین، برای استفاده از سرور خود به عنوان یک سرور کش باید مراحلی را که در ادامه عنوان میکنیم را دنبال کنید.
فایل /etc/bind/named.conf.options را با ویرایشگر مورد علاقه خود باز کرده و ویرایش کنید.
sudo vim /etc/bind/named.conf.options
بلوک زیر را به آن اضافه کنید؛ در اینجا ما از DNS گوگل استفاده کردهایم.
forwarders {
8.8.8.8;
};
برای فعال کردن تنظیمات جدید، باید سرویس DNS را مجددا راهاندازی کنید.
sudo systemctl restart bind9
برای آزمایش زمان پرس و جو شما می توانیم از دستور dig که توسط بسته dnsutils نصب شده است استفاده کنیم.
dig google.com
دستور قبلی را دو بار اجرا کنید و زمان پرس و جو را بررسی کنید، خروجی باید به شکل زیر باشد:
متوجه خواهید شد که زمان پرس و جو برای بار دومی که دستور را اجرا کرده اید تقریباً صفر است.
Step 6 – Primary Master
راه اندازی dns server در لینوکس اوبونتو ؛ پیکربندی سرور اصلی
برای پیکربندی سرور اصلی، DNS داده های یک منطقه را از فایل ذخیره شده در میزبان خود دریافت می کند. همچنین، DNS کنترل آن ناحیه را دارد. حال فرض کنید یک دامنه به نام “example.com” داریم، میخواهیم DNS را بهعنوان primary master. آن دامنه پیکربندی کنیم.
Forward Zone File
اینجا در forward zone، نام به IP نگاشت می شود.
مرحله 1. فایل /etc/bind/named.conf را باز کرده و ویرایش کنید.
sudo vim /etc/bind/named.conf
فایل باید به این شکل باشد:
include “/etc/bind/named.conf.options”; include “/etc/bind/named.conf.local”; include “/etc/bind/named.conf.default-zones”;
مرحله 2.
فایل /etc/bind/named.conf.local را باز کرده و ویرایش کنید تا یک zone DNS اضافه کنید.
sudo vim /etc/bind/named.conf.local Add the following block to it: zone “example.com” { type master; file “/etc/bind/db.example.com”; };
فایل باید به شکل زیر باشد:
Step 3. Create a zone file from the template one. sudo cp /etc/bind/db.local /etc/bind/db.example.com Step 4. Now open the new example zone file. sudo vim /etc/bind/db.example.com
و آن را به شکل زیر تغییر دهید:
Step 5. Restart DNS Service to apply changes. sudo systemctl restart bind9 Reverse Zone File
راه اندازی dns server در لینوکس اوبونتو ؛ تنظیم IP
اکنون برای نگاشت IP به یک نام، باید فایل reverse zone را پیکربندی کنید.
مرحله 1. فایل /etc/bind/named.conf.local را ویرایش کنید.
sudo vim /etc/bind/named.conf.local Add the following block: zone “10.0.2.in-addr.arpa” { type master; file “/etc/bind/db.10”; }; Step 2. Create the /etc/bind/db.10 file from template one. sudo cp /etc/bind/db.127 /etc/bind/db.10 Step 3. Edit the /etc/bind/db.10 file. sudo vim /etc/bind/db.10
مرحله 4. برای اعمال تغییرات، سرویس DNS را مجددا راه اندازی کنید.
Step 7 – Configuration Files Verification
اکنون و پس از انجام تمامی تنظیمات قبلی، باید درست بودن تمامی تنظیمات را بررسی کنیم.
مرحله 1. دستورات زیر را اجرا کنید تا بررسی کنید که آیا خطای وجود دارد یا خیر.
named-checkzone example.com /etc/bind/db.example.com named-checkzone 192.168.0.0/32 /etc/bind/db.10 named-checkconf /etc/bind/named.conf.local named-checkconf /etc/bind/named.conf
توجه داشته باشید که ممکن است شماره سریال متفاوتی داشته باشید. در نهایت، ما سرور DNS را در اوبونتو با موفقیت نصب و پیکربندی کردیم.