مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

directadmin

~4 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. کاهش TTL قبل از تغییر IP (برای حداقل downtime)


وقتی قصد تغییر IP یک دامنه را دارید، بهتر است TTL رکوردها را موقتاً پایین بیاورید تا پروپاگیشن سریع‌تر انجام شود و کاربران کمتر دچار قطعی شوند.

روش سریع و جهانی (برای همه رکوردها):

مرحله ۱: غیرفعال کردن TTL per-record


da config-set dns_ttl 0 --restart

مرحله ۲: کاهش TTL پیش‌فرض (مثلاً ۳۰۰ ثانیه)


da config-set default_ttl 300 --restart

مرحله ۳: بازنویسی تمام Zoneها


/usr/local/directadmin/directadmin taskq --run "action=rewrite&value=named" --debug 2000

مرحله ۴: بازگردانی TTL به حالت عادی


da config-set dns_ttl 1 --restart
da config-set default_ttl 14400 --restart
/usr/local/directadmin/directadmin taskq --run "action=rewrite&value=named" --debug 2000

نکته: این روش TTL همه رکوردها را یکسان می‌کند. برای تغییر TTL یک رکورد خاص، از DNS Management استفاده کنید.

---

2. افزودن رکورد SRV در DirectAdmin


رکوردهای SRV برای سرویس‌هایی مثل SIP، XMPP، LDAP و ... استفاده می‌شوند.

فرمت رکورد SRV:


_service._proto.name TTL class SRV priority weight port target

مثال واقعی:

نام رکورد (Left):


_sip._tcp.example.com.

مقدار (Right):


0 5 5060 sipserver.example.com.

نحوه اضافه کردن:

  1. User Level → DNS Management → domain.com
  2. Add Record
  3. Type: SRV
  4. Name: _sip._tcp یا نسخه کامل با نقطه
  5. Value: 0 5 5060 sipserver.example.com.
  6. TTL: دلخواه

نکته مهم: اگر نام با نقطه تمام شود، دامنه اضافه نمی‌شود. اگر بدون نقطه باشد، DirectAdmin دامنه را خودکار اضافه می‌کند.

---

3. فعال‌سازی DNSSEC برای دامنه‌ها


پیش‌نیاز:


da config-set dnssec 1 --restart

فعال‌سازی DNSSEC:

  1. Admin Level → DNS Admin → domain.com
  2. Generate Keys
  3. Sign
  4. کپی DS رکوردها
  5. افزودن DS رکوردها در Registrar

نکته برای RHEL 9 / AlmaLinux 9 / Rocky 9: فقط یک DS رکورد تولید می‌شود.

---

غیرفعال کردن DNSSEC:

از DNS Admin → Remove Keys

یا دستی:


rm /var/named/domain.com.ksk.*
rm /var/named/domain.com.zsk.*
rm /var/named/domain.com.db.signed
rm /var/named/dsset-domain.com.

در named.conf پسوند را از .signed به .db برگردانید و سپس:


systemctl restart named
---

4. DNSSEC برای ساب‌دامین (Subdomain Delegation)


اگر ساب‌دامین را به‌صورت دامنه کامل ساخته‌اید، باید زنجیره اعتماد را حفظ کنید.

مراحل:

  1. DNSSEC برای ساب‌دامین (Generate Keys + Sign)
  2. افزودن DS رکوردها در زون والد
  3. افزودن NS رکوردها:

sub.domain.com. NS ns1.domain.com.
sub.domain.com. NS ns2.domain.com.
  1. Sign مجدد زون والد

فعال‌سازی DNSSEC برای کاربران:


da config-set user_dnssec_control 1 --restart
---

5. افزودن خودکار TLSA رکورد با Let's Encrypt (DANE)


هشدار: DANE برای SMTP هنوز پایدار نیست. فعلاً فقط برای HTTPS (پورت ۴۴۳) استفاده شود.

مرحله ۱: ساخت اسکریپت set_tlsa.sh


nano /usr/local/directadmin/scripts/custom/set_tlsa.sh

محتوا:


#!/bin/sh
DOMAIN=$1
TQ=/usr/local/directadmin/data/task.queue
DTQ=/usr/local/directadmin/dataskq

if [ -z "$DOMAIN" ] || [ ! -d "/etc/virtual/$DOMAIN" ]; then
    echo "$DOMAIN دامنه معتبر نیست"
    exit 1
fi

wget -O lets-encrypt-x3-cross-signed.pem https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
V=$(openssl x509 -in lets-encrypt-x3-cross-signed.pem -outform DER | openssl dgst -sha256 -hex | awk '{print "2 0 1", $NF}')

echo "action=dns&do=delete&domain=${DOMAIN}&type=TLSA&name=le-ca&value=*" >> $TQ
echo "action=dns&do=delete&domain=${DOMAIN}&type=CNAME&name=_443._tcp&value=*" >> $TQ

echo "action=dns&do=add&domain=${DOMAIN}&type=TLSA&name=le-ca&value=$V" >> $TQ
echo "action=dns&do=add&domain=${DOMAIN}&type=CNAME&name=_443._tcp&value=le-ca" >> $TQ
echo 'action=named&value=reload' >> $TQ

exit 0

chmod 755 /usr/local/directadmin/scripts/custom/set_tlsa.sh
---

مرحله ۲: ساخت post-hook برای Let's Encrypt


nano /usr/local/directadmin/scripts/custom/letsencrypt_post.sh

محتوا:


#!/bin/sh
/usr/local/directadmin/scripts/custom/set_tlsa.sh $domain
exit 0

chmod 755 /usr/local/directadmin/scripts/custom/letsencrypt_post.sh
---

6. تغییرات گروهی (Mass Update) روی همه دامنه‌ها


مثال: تغییر همه رکوردهای A مربوط به mail به IP جدید


cd /var/named
tar cvzf /root/dns_backup.tar.gz *.db
perl -pi -e 's/^mail\s+14400\s+IN\s+A\s+.*$/mail\t14400\tIN\tA\t1.2.3.4/' *.db

بازنویسی Zoneها:


echo "action=rewrite&value=named" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d400
---

تغییر SPF همه دامنه‌ها به -all


perl -pi -e 's/~all/-all/' *.db
---

افزودن رکورد جدید به همه دامنه‌ها


for d in *.db; do
    domain=${d%.db}
    echo "myrecord 14400 IN A 1.2.3.4" >> $d
done

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه

پوسته Evolution در DirectAdmin – راهنمای کامل، ویژگی‌ها، سفارشی‌سازی و نکات حرفه‌ای

پوسته Evolution نسل جدید رابط کاربری DirectAdmin است که با طراحی مدرن، سرعت بالا، پشتیبانی کامل از JSON و امکانات گسترده برای سفارشی‌سازی، تجربه‌ای کاملاً متفاوت نسبت به پوسته‌های قدیمی ارائه می‌دهد. این مقاله یک راهنمای جامع برای فعال‌سازی، مدیریت، سفارشی‌سازی و ترجمه پوسته Evolution است.

ادامه