جدول محتوایی
سرور DNS
DNS به اختصار Domain Name System است. همانطور که می دانیم کامپیوتر ماشینی است که فقط باینری را می فهمد یا می توانیم با گفتن اینکه کد ماشین را می فهمد آن را آسان کنیم. اکنون وب سایت های مختلفی داریم که دامنه آنها از حروف الفبا تشکیل شده. به عنوان مثال ما facebook.com، google.com را داریم. در واقع این اسامی حروف الفبا برای درک بهتر برای انسان است، و برای ماشین ها آدرس پذیر نیست. بنابراین برای این منظور برخی از سرور ها وجود دارند که آدرسهای پایه عددی متفاوتی را در برابر این آدرسهای الفبایی اختصاص میدهند تا توسط ماشین شناسایی شوند. چنین سرور هایی که وظیفه تخصیص آدرس ها را بر عهده دارند به عنوان سرور DNS (سرورهای نام دامنه) شناخته می شوند.
در این مقاله قصد داریم روش های مختلف در اوبونتو برای پیکربندی سرور DNS را مورد بحث قرار دهیم.
برای ادامه این آموزش به یک سرور مجازی لینوکس نیاز دارید که میتوانید آن را از ایرانیکاسرور تهیه کنید. (خرید سرور مجازی ایران)
چگونه پیکربندی سرور DNS را در اوبونتو انجام دهیم ؟
ما در مورد روش پیکربندی سرور DNS با باز کردن یک ترمینال و اجرای چند دستور صحبت خواهیم کرد:
پیکربندی سرور DNS از طریق ترمینال اوبونتو
ما می توانیم DNS را از طریق ترمینال پیکربندی کنیم. برای این منظور ابتدا ترمینال را با فشار دادن CTRL + ALT + T باز کنید. قبل از فرآیند نصب، مخزن خود را به روز می کنیم:
$ sudo apt update
اکنون سرور DNS را با استفاده از دستور bind9 نصب می کنیم:
$ sudo apt install bind9
مرحله بعدی نصب ابزارهای DNS با استفاده از دستور “dnsutils” است:
$ sudo apt install dnsutils
اکنون برای پیکربندی DNS، ابتدا به آدرس /etc/bind/named.conf.options میرویم و Google DNS را برای درک درست اضافه میکنیم. متن زیر را با باز کردن آدرس در ویرایشگر نانو اضافه می کنیم.
$ sudo nano /etc/bind/named.conf.options
متن زیر را در ویرایشگر جایگزین کنید، 8.8.8.8 در واقع DNS گوگل است:
forwarders { 8.8.8.8; };
با کلید های ctrl + x تغییرات را سیو کنید و اینتر بزنید تا از ویرایشگر خارج شود. اکنون پس از ذخیره آن را ترک کرده و با راه اندازی مجدد DNS با استفاده از دستور systemctl، پیکربندی جدید را فعال کنید.
$ sudo systemctl restart bind9
بررسی وضعیت bind9 :
$ sudo systemctl status bind9
از آنجایی که bind9 اکنون در حال اجرا است، دامنه ای را که در فایل پیکربندی ویرایش می کنیم به صورت زیر آزمایش می کنیم:
$ dig google.com
خروجی نشان می دهد که دامنه گوگل است و با موفقیت اجرا می شود.
اکنون پیکربندی ناحیه اولیه را انجام خواهیم داد، اما قبل از پیکربندی باید بدانیم که چه اتفاقی میافتد. ما برخی از فایل ها را در یک هاست یا سرور ذخیره کردیم و در این پیکربندی DNS داده های خود را از آن فایل خاص برای منطقه خود دریافت می کند. اکنون برای چنین پیکربندی، ویرایشگر را اجرا می کنیم و تأیید می کنیم که سه دستور زیر وجود دارد و روی آنها توضیح داده نشده است.
include “/etc/bind/named/.conf.option”; include “/etc/bind/named/.conf.local”; include “/etc/bind/named/.conf.default-zones”;
برای تأیید این موضوع، ویرایشگر را با دستور زیر باز می کنیم:
$ sudo vi /etc/bind/named.conf
در نتیجه خواهیم دید:
هر سه خط در خروجی وجود دارد. حالا به عنوان مثال ما یک دامنه “gamer.com” داریم که می خواهیم آن را پیکربندی کنیم، بنابراین فایل name.conf.local را با باز کردن به صورت زیر ویرایش می کنیم:
$ sudo vi /etc/bind/named.conf.local
متن زیر را در ویرایشگر به صورت زیر ویرایش کنید:
zone “gamer.com” { type master; file “/etc/bind/db.gamer.com”; };
ما محتویات را از db.local به db.gamer.com کپی می کنیم:
$ sudo cp /etc/bind/db.local /etc/bind/db.gamer.com
و در این مرحله فایل جدید ایجاد شده gamer.com را با دستور زیر باز می کنیم:
$ sudo vi /etc/bind/db.gamer.com
خروجی باید به این صورت باشد:
پس از ایجاد تغییرات، سرور DNS را مجددا راه اندازی می کنیم.
$ sudo systemctl restart bind9
برای ارتباط دامنه ایجاد شده “gamer.com” با برخی از آدرس های IP، باید یک فایل منطقه معکوس انجام دهیم. برای چنین منظوری، فایل ناحیه معکوس را نیز به صورت زیر پیکربندی می کنیم:
$ sudo vi /etc/bind/named.conf.local
در اینجا متن زیر را اضافه می کنیم:
zone “192.168.18.in-addr.arpa” { type master; file “/etc/bind/db.10”; };
جایی که 192.168.18 سه اکتت اول شبکه است، در اینجا شما آن را با شبکه خود جایگزین خواهید کرد. حالا فایل جدید را با db.10 به صورت زیر کپی و ایجاد می کنیم:
$ sudo cp /etc/bind/db.127 /etc/bind/db.10
حال این فایلی را که ایجاد کرده ایم باز می کنیم و خروجی آن باید مانند شکل زیر باشد:
$ sudo vi /etc/bind/db.10
در این قسمت آخر، ابتدا تنظیمات را با اجرای همه این دستورات تأیید می کنیم و بررسی می کنیم که آیا آنها خطا ایجاد می کنند یا خیر:
$ named-checkzone gamer.com /etc/bind/db.gamer.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 ما با موفقیت پیکربندی شد.
جمع بندی
DNS تکنیکی است که از طریق آن دامنههای وبسایتهای مختلف را به صورت حروف الفبا و عددی نامگذاری میکنیم تا درک آن برای سرور ها آسان باشد. پیکربندی سرور DNS (سیستم نام دامنه) را در مقاله یاد گرفتیم. ما آموخته ایم که DNS برای تخصیص آدرس های مبتنی بر عددی به دامنه های الفبایی استفاده می شود. دامنه google را به روش خط فرمان پیکربندی کردیم و همچنین آن را تست کردیم، همچنین در روش ترمینال با ایجاد دامنه gamer.com تنظیمات منطقه فایل رو به جلو و معکوس انجام دادیم. امیدواریم این مقاله به شما کمک زیادی کند و تمام سوالات مربوط به پیکربندی DNS را حل کند.
ممنون جالب بود
خوب هستی این مطالبی که قرار دادید عالی بود اما یک نکته خدمت شما عرض کنم اینکه برخی کلمات به هم چسپیده شده اینو درست کنید
اگر ممکن است این پست رو بروز کنید نکات دیگری هم عنوان شده در نت
خوب هستی این مطالبی که قرار دادید عالی بود اما یک نکته خدمت شما عرض کنم اینکه برخی کلمات به هم چسپیده شده اینو درست کنید
خوب هستی این مطالبی که قرار دادید عالی بود اما یک نکته خدمت شما عرض کنم اینکه برخی کلمات به هم چسپیده شده اینو درست کنید
اگر ممکن است این پست رو بروز کنید نکات دیگری هم عنوان شده در نت