لیست مطالب
سیستم نام دامنه (Domain Name System) یا DNS، یک سیستم سلسله مراتبی و توزیع شده برای ترجمه نام های دامنه قابل فهم برای انسان (مانند google.com) به آدرس های IP عددی (مانند 172.217.160.142) است که کامپیوترها از آنها برای برقراری ارتباط استفاده می کنند. مدیریت سرویس های DNS برای اطمینان از دسترسی صحیح به وب سایت ها و سایر خدمات آنلاین ضروری است.
با استفاده از یک سرور مجازی (VPS) با سیستم عامل Ubuntu، می توانید سرویس های DNS خود را به طور کامل کنترل کنید و انعطاف پذیری و قابلیت اطمینان بیشتری نسبت به استفاده از سرویس های DNS ارائه شده توسط ثبت کنندگان دامنه یا سایر ارائه دهندگان خدمات داشته باشید. در این مقاله، به بررسی گام به گام نحوه مدیریت سرویس های DNS خود با استفاده از یک سرور مجازی Ubuntu می پردازیم.
1. انتخاب یک سرور مجازی Ubuntu
اولین قدم برای مدیریت سرویس های DNS، انتخاب یک سرور مجازی (VPS) با سیستم عامل Ubuntu است. در هنگام انتخاب VPS، به عوامل زیر توجه کنید:
- منابع: میزان CPU، RAM و فضای ذخیره سازی مورد نیاز خود را برآورد کنید. برای یک سرور DNS کوچک، معمولاً یک VPS با 1 گیگابایت RAM و 20 گیگابایت فضای ذخیره سازی کافی است. با افزایش تعداد دامنهها و حجم ترافیک، ممکن است نیاز به ارتقاء منابع VPS خود داشته باشید.
- موقعیت مکانی: موقعیت مکانی VPS خود را با توجه به محل جغرافیایی مخاطبان خود انتخاب کنید. انتخاب VPS در نزدیکی مخاطبان شما میتواند تاخیر را کاهش دهد و سرعت دسترسی به وبسایتهای شما را افزایش دهد.
- قیمت: تعرفه های مختلف ارائه دهندگان VPS را مقایسه کنید و یک VPS با قیمت مناسب و با کیفیت انتخاب کنید.
- پشتیبانی: از کیفیت پشتیبانی ارائه شده توسط ارائه دهنده VPS اطمینان حاصل کنید. در صورت بروز مشکل در سرور، نیاز به یک پشتیبانی فنی قوی و پاسخگو خواهید داشت.
پس از انتخاب VPS، آن را تهیه و سیستم عامل Ubuntu را بر روی آن نصب کنید.
2. نصب Bind9
Bind9 یک نرم افزار سرور DNS منبع باز و بسیار محبوب است که به شما امکان می دهد DNS server خود را بر روی سرور Ubuntu خود اجرا کنید. برای نصب Bind9، دستورات زیر را در ترمینال سرور خود اجرا کنید:
sudo apt update
sudo apt install bind9 bind9utils bind9-doc
این دستورات ابتدا لیست بسته های نرم افزاری را به روز می کنند و سپس Bind9، ابزارهای مربوطه و مستندات آن را نصب می کنند.

پس از نصب Bind9، باید آن را پیکربندی کنید تا بتواند به عنوان DNS server شما عمل کند. فایل های اصلی پیکربندی Bind9 در دایرکتوری /etc/bind/ قرار دارند.
فایل named.conf.options: این فایل شامل تنظیمات کلی Bind9 است، از جمله تنظیمات مربوط به فورواردرها (forwarders) و (ACL (Access Control Lists.
برای پیکربندی فورواردرها، فایل named.conf.options را با استفاده از یک ویرایشگر متن باز کنید (به عنوان مثال، sudo nano /etc/bind/named.conf.options) و بخش options { را ویرایش کنید. فورواردرها به Bind9 کمک می کنند تا نام هایی را که نمی تواند به طور مستقیم حل کند، به سرورهای DNS دیگر (مانند سرورهای DNS گوگل یا Cloudflare) ارسال کند.
options {
directory "/var/cache/bind";
recursion yes; # enables recursive queries
allow-recursion { any; }; # allows queries from any address
forwarders {
8.8.8.8;
8.8.4.4;
1.1.1.1;
1.0.0.1;
};
dnssec-validation auto;
listen-on { any; };
listen-on-v6 { any; };
};
در این مثال، سرورهای DNS گوگل (8.8.8.8 و 8.8.4.4) و (Cloudflare (1.1.1.1 & 1.0.0.1 به عنوان فورواردرهای Bind9 تنظیم شده اند. ;{ ;allow-recursion { any به معنای اجازه دادن به هر آدرسی برای پرس و جوهای بازگشتی است. در یک محیط تولید، باید این قسمت را محدودتر کنید تا از سوء استفاده جلوگیری شود. ;{ ;listen-on { any و ;{ ;listen-on-v6 { any به Bind9 اجازه می دهند تا بر روی تمامی آدرس های IPv4 و IPv6 گوش دهد.
فایل named.conf.local: این فایل برای تعریف Zone های DNS مورد استفاده قرار می گیرد. Zone ها مجموعه ای از رکوردهای DNS هستند که مربوط به یک دامنه خاص هستند.
برای ایجاد یک Zone جدید، فایل named.conf.local را با استفاده از یک ویرایشگر متن باز کنید (به عنوان مثال، sudo nano /etc/bind/named.conf.local) و Zone های مورد نظر خود را اضافه کنید.
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
zone "192.168.1.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.1";
};
در این مثال، دو Zone تعریف شده است:
"Zone "example.com برای دامنه ی example.com است. این Zone به عنوان Zone Master تعریف شده است، به این معنی که اطلاعات DNS برای این دامنه در این سرور نگهداری می شود. فایل /etc/bind/db.example.com حاوی رکوردهای DNS برای این دامنه است.
"Zone "192.168.1.in-addr.arpa برای ترجمه آدرس های IP به نام های دامنه (Reverse DNS) برای شبکه 192.168.1.0/24 است.
فایلهای Zone (مانند db.example.com و db.192.168.1): این فایل ها حاوی رکوردهای DNS برای هر Zone هستند.
برای ایجاد فایل Zone برای دامنه example.com، یک فایل جدید با نام /etc/bind/db.example.com ایجاد کنید (به عنوان مثال، sudo nano /etc/bind/db.example.com) و رکوردهای DNS مورد نظر خود را در آن اضافه کنید.
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN A 192.168.1.10
ns1 IN A 192.168.1.10
www IN A 192.168.1.11
mail IN A 192.168.1.12
@ IN MX 10 mail.example.com.

توضیحات رکوردهای موجود در این فایل:
- $TTL: زمان اعتبار (Time To Live) پیش فرض برای تمام رکوردهای DNS در این Zone است.
- SOA: رکورد شروع اقتدار (Start of Authority) که اطلاعات مربوط به سرور DNS اصلی برای این Zone را مشخص می کند.
- NS: رکورد نام سرور (Name Server) که نام سرور DNS برای این Zone را مشخص می کند.
- b: رکورد آدرس (Address) که نام دامنه را به آدرس IP ترجمه می کند.
- MX: رکورد تبادل ایمیل (Mail Exchange) که سرور ایمیل برای این دامنه را مشخص می کند.
به طور مشابه، می توانید فایل Zone برای Reverse DNS (مانند /etc/bind/db.192.168.1) را ایجاد و رکوردهای (PTR (Pointer را در آن اضافه کنید.
4. بررسی و اعمال تغییرات:
پس از پیکربندی فایل های Bind9، باید نحو فایل های پیکربندی را بررسی کنید و تغییرات را اعمال کنید.
برای بررسی نحو فایل های پیکربندی، دستور زیر را اجرا کنید:
sudo named-checkconf
در صورت وجود خطا در فایل های پیکربندی، این دستور خطاها را نمایش می دهد. قبل از ادامه، باید خطاها را رفع کنید.
برای اعمال تغییرات، سرویس Bind9 را ری استارت کنید:
sudo systemctl restart bind9
5. پیکربندی فایروال:
برای اینکه سرور DNS شما بتواند به درخواست های DNS از سایر کامپیوترها پاسخ دهد، باید پورت 53 (UDP و TCP) را در فایروال خود باز کنید.
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
sudo ufw reload
6. تنظیم DNS Server در تنظیمات دامنه:
پس از پیکربندی سرور DNS، باید تنظیمات DNS Server را در تنظیمات دامنه خود تغییر دهید تا از سرور DNS شما برای ترجمه نام های دامنه به آدرسهای IP استفاده شود.
برای این کار، وارد پنل مدیریت دامنه خود شوید و تنظیمات DNS Server را به آدرس IP سرور DNS خود تغییر دهید.
7. تست DNS Server:
پس از تنظیم DNS Server در تنظیمات دامنه، باید DNS Server خود را تست کنید تا مطمئن شوید که به درستی کار می کند.
برای این کار، می توانید از ابزارهای تست DNS مانند dig یا nslookup استفاده کنید.
dig example.com
nslookup example.com
این ابزارها اطلاعات مربوط به DNS Record های دامنه example.com را نمایش می دهند. اگر اطلاعات نمایش داده شده صحیح باشد، DNS Server شما به درستی کار می کند.

8. بهینه سازی و امنیت:
پس از راه اندازی اولیه، بهینه سازی و تامین امنیت DNS server شما ضروری است:
- به روز رسانی: به طور منظم Bind9 و سایر بسته های نرم افزاری را به روز نگه دارید تا از آخرین وصله های امنیتی بهره مند شوید.
- مانیتورینگ: مانیتورینگ DNS server خود را با استفاده از ابزارهایی مانند dnstop یا zabbix راهاندازی کنید تا از عملکرد صحیح و شناسایی مشکلات احتمالی آگاه شوید.
- محدود کردن دسترسی: استفاده از ACL ها در فایل named.conf.options برای محدود کردن دسترسی به DNS server شما و جلوگیری از حملات DDoS.
- DNSSEC: پیاده سازی DNSSEC برای امضای دیجیتال رکوردهای DNS و جلوگیری از جعل اطلاعات DNS.
نتیجهگیری:
مدیریت سرویسهای DNS با استفاده از یک سرور مجازی Ubuntu، به شما کنترل کامل بر روی زیرساخت DNS خود میدهد و انعطاف پذیری و قابلیت اطمینان بیشتری را فراهم می کند. با پیروی از مراحل ذکر شده در این مقاله، می توانید DNS server خود را راهاندازی، پیکربندی و مدیریت کنید و از دسترسی صحیح و پایدار به وب سایت ها و سایر خدمات آنلاین خود اطمینان حاصل کنید. به یاد داشته باشید که امنیت و بهینه سازی DNS server شما برای عملکرد صحیح و جلوگیری از حملات سایبری بسیار مهم است.
همیشه پیشگام با صفر و یک!
شرکت صفر و یک با ارائه خدمات سرور مجازی و سرور اختصاصی، راه حل های انعطاف پذیری برای کسب و کار شما فراهم می کند. با زیرساخت های قدرتمند و پشتیبانی ۲۴ ساعته، می توانید به راحتی به نیازهای خود پاسخ دهید. سرورهای ما با امنیت بالا و عملکرد بهینه، اطمینان خاطر را برای پروژه های شما به ارمغان می آورند. همین امروز با ما تماس بگیرید و از خدمات ما بهره مند شوید. با صفر و یک، به آینده ای روشن و مطمئن دست پیدا کنید!