نصب DNS Server در لینوکس (Ubuntu)
DNS یا Domain Name System نقش حیاتی در شبکه و اینترنت داشته و وظیفه تبدیل نام دامنه به آدرس IP را بر عهده دارد. در این آموزش، نحوه نصب و پیکربندی یک DNS Server ساده با استفاده از BIND9 در اوبونتو توضیح داده می شود.
1- نصب BIND9
ابتدا سیستم را بروز کنید و بسته های موردنیاز را نصب نمایید:
sudo apt update
sudo apt install bind9 bind9utils bind9-doc -y
bind9: سرویس اصلی DNS
bind9utils: ابزارهای کمکی
bind9-doc: مستندات BIND9
2- بررسی وضعیت سرویس
پس از نصب، سرویس BIND9 باید فعال باشد:
sudo systemctl status bind9
اگر سرویس فعال نبود، می توانید آن را شروع کنید:
sudo systemctl start bind9
sudo systemctl enable bind9
3- پیکربندی فایل اصلی BIND
فایل پیکربندی اصلی برای دامنه ها در مسیر زیر قرار دارد:
/etc/bind/named.conf.local
مثال: تعریف یک دامنه واقعی
برای مدیریت دامنه example.com، فایل پیکربندی را با یک ویرایشگر متنی باز کنید:
sudo vi /etc/bind/named.conf.local
سپس Zone مربوط به دامنه را به شکل زیر اضافه نمایید:
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
};
نکته: مسیر /etc/bind/zones/ باید ایجاد شود:
sudo mkdir -p /etc/bind/zones
4- ایجاد فایل Zone
یک فایل zone جدید بسازید:
sudo vi /etc/bind/zones/db.example.com
نمونه محتوا:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
2025100601 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
ns1 IN A 192.168.1.10
ns2 IN A 192.168.1.11
www IN A 192.168.1.20
mail IN A 192.168.1.30
@ IN MX 10 mail.example.com.
ftp IN CNAME www.example.com.
(رکورد ها را باید مطابق با آدرس آی پی واقعی سرور های خود تنظیم نمایید.)
توضیح انواع رکوردها:
SOA: اطلاعات اصلی دامنه، شامل نام NS اولیه، ایمیل ادمین و زمان بندی های مربوط به کش و بروزرسانی.
NS: نام سرور DNS
A: رکوردهای آدرس IP
MX Record: مشخص کردن سرور ایمیل برای دامنه. عدد 10 اولویت (priority) است.
CNAME Record: یک نام مستعار برای رکورد A. مثلاً ftp.example.com به www.example.com اشاره می کند.
5- بررسی پیکربندی
قبل از ریستارت سرویس، صحت پیکربندی را بررسی کنید:
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/zones/db.example.com
اگر خطایی مشاهده نکردید، مراحل را ادامه دهید.
6- راه اندازی مجدد BIND
sudo systemctl restart bind9
sudo systemctl status bind9
7- تست عملکرد DNS
dig @192.168.1.10 www.example.com
خروجی باید آدرس IP تعریف شده برای رکورد www (مثلا 192.168.1.20) را نشان دهد.
توجه داشته باشید در دستور فوق بجای آدرس آی پی 192.168.1.10، می بایست آدرس آی پی name server خود را وارد نمایید.