• Home / آموزش‌ها / آموزش اضافه کردن…

آموزش اضافه کردن DNS Zone در Hetzner؛ تنظیم دامنه، Import Zone و Secondary DNS

DNS Zone هتزنر چیست؟

اگر یک دامنه مثل example.com داشته باشید، برای اینکه مشخص شود این دامنه باید به کدام سرور، وب‌سایت یا سرویس ایمیل متصل شود، به تنظیمات DNS نیاز دارید.
DNS Zone را می‌توان مجموعه تنظیمات DNS یک دامنه در نظر گرفت. داخل این Zone رکوردهایی مانند A، AAAA، CNAME، MX و TXT قرار می‌گیرند و هرکدام وظیفه مشخصی دارند.
برای مثال با یک A Record می‌توانید مشخص کنید:
example.com
به IP سرور:
203.0.113.10
متصل شود.
Hetzner در بخش DNS کنسول خود امکان ایجاد و مدیریت DNS Zone و رکوردهای آن را فراهم می‌کند. خود DNS نیز وظیفه تبدیل نام دامنه به اطلاعاتی مثل IP Address را بر عهده دارد.

آیا برای استفاده از Hetzner DNS باید دامنه را به هتزنر منتقل کنیم؟

خیر. یکی از نکات مهم همین صفحه این است که می‌توانید یک External Domain را به Hetzner DNS اضافه کنید و برای استفاده از DNS هتزنر الزامی به انتقال Registrar دامنه نیست.
برای مثال ممکن است دامنه خود را از یک شرکت دیگر خریداری کرده باشید، اما VPS شما در Hetzner باشد. در این شرایط می‌توانید مدیریت DNS دامنه را به Hetzner بسپارید و خود دامنه همچنان نزد Registrar قبلی باقی بماند.
بعد از ساخت Primary DNS Zone در Hetzner باید Nameserverهای دامنه را در پنل شرکتی که دامنه در آن ثبت شده است به Nameserverهای نمایش‌داده‌شده در Hetzner تغییر دهید.

هزینه DNS Zone در Hetzner چقدر است؟

برخلاف بسیاری از سرویس‌های هتزنر که هزینه ساعتی یا ماهانه دارند، مدیریت DNS Zone در Hetzner در حال حاضر رایگان است.
طبق مستندات رسمی Hetzner برای DNS Zone هزینه‌ای دریافت نمی‌شود و خود شرکت نیز DNS Management را به‌صورت Free of charge ارائه می‌کند.
بنابراین در این بخش نیازی به محاسبه هزینه یورویی یا تبدیل آن به تومان ندارید.

صفحه Add DNS Zone چه کاری انجام می‌دهد؟

تصویری که مشاهده می‌کنید مربوط به پنجره Add DNS zone در Hetzner Console است.
در این قسمت ابتدا نام دامنه را وارد می‌کنید و سپس باید مشخص کنید DNS Zone دامنه به چه شکلی ایجاد شود.
سه گزینه اصلی در تصویر وجود دارد:
Create an empty zone
Import zone file
Secondary
هر سه گزینه در نهایت یک DNS Zone ایجاد می‌کنند، اما روش استفاده و سناریوی مناسب آن‌ها با یکدیگر متفاوت است.

قسمت Domain Name چیست؟

در کادر DOMAIN NAME باید دامنه‌ای را وارد کنید که قصد مدیریت DNS آن را دارید.
برای مثال:
example.com
یا:
mysite.ir
معمولاً در این قسمت فقط دامنه اصلی وارد می‌شود و نیازی نیست آدرس کامل سایت را بنویسید.
یعنی به‌جای:
باید بنویسید:
example.com
بعد از وارد کردن Domain Name، یکی از سه روش ساخت Zone را انتخاب می‌کنید.

گزینه Create an empty zone چیست؟

در تصویر گزینه Create an empty zone انتخاب شده است.
این گزینه برای اکثر کاربرانی که می‌خواهند DNS دامنه را از ابتدا در Hetzner تنظیم کنند، ساده‌ترین انتخاب است.
با انتخاب این گزینه Hetzner یک Zone جدید ایجاد می‌کند که در ابتدا فقط رکوردهای ضروری NS و SOA را دارد و سایر رکوردها را باید خودتان اضافه کنید.
برای مثال اگر یک VPS جدید خریده‌اید و می‌خواهید دامنه را به آن متصل کنید، معمولاً همین گزینه مناسب است.

بعد از Create an empty zone چه رکوردهایی ساخته می‌شوند؟

Hetzner هنگام ایجاد Zone، SOA Record و سه NS Record را به‌صورت خودکار ایجاد می‌کند.
اما رکوردهایی مثل A، AAAA، MX، CNAME یا TXT به‌صورت خودکار برای سایت شما ساخته نمی‌شوند و باید بر اساس نیاز پروژه آن‌ها را اضافه کنید.
این موضوع مهم است؛ چون صرفاً ساختن DNS Zone به این معنا نیست که دامنه بلافاصله سایت شما را نمایش خواهد داد.
بعد از ساخت Zone باید رکوردهای موردنیاز را نیز تنظیم کنید.

یک مثال ساده برای اتصال دامنه به VPS هتزنر

فرض کنید یک VPS هتزنر با IP زیر دارید:
203.0.113.10
و دامنه شما:
example.com
است.
بعد از انتخاب Create an empty zone می‌توانید یک A Record برای دامنه اصلی ایجاد کنید:

TypeNameValue
A@203.0.113.10
Awww203.0.113.10
رکورد اول باعث می‌شود:
example.com
به سرور شما متصل شود.
رکورد دوم نیز:
www.example.com
را به همان IP متصل می‌کند.
Hetzner نیز در مستندات خود همین ساختار را به‌عنوان نمونه رایج برای اتصال دامنه و www به Web Server توضیح داده است.

علامت @ در DNS چیست؟

هنگام ساخت DNS Record ممکن است در قسمت Name با علامت:
@
مواجه شوید.
در اینجا @ به خود Root Domain اشاره دارد.
یعنی اگر DNS Zone شما:
example.com
باشد، رکورد:
A @ 203.0.113.10
به این معنی است که خود:
example.com
باید به IP موردنظر متصل شود. Hetzner نیز برای رکورد Root Domain از @ استفاده می‌کند.

گزینه Import zone file چیست؟

دومین گزینه موجود در تصویر Import zone file است.
این گزینه زمانی کاربرد دارد که DNS دامنه قبلاً روی سرویس دیگری تنظیم شده و شما یک نسخه از Zone File آن را در اختیار دارید.
به‌جای اینکه تمام رکوردهای A، CNAME، MX، TXT و سایر موارد را دوباره به‌صورت دستی وارد کنید، می‌توانید Zone File قبلی را Import کنید.
Hetzner برای این قابلیت از BIND-compatible zone file پشتیبانی می‌کند.

BIND Zone File چیست؟

BIND یکی از فرمت‌ها و ساختارهای رایج برای تعریف DNS Zone است.
یک Zone File ممکن است اطلاعاتی شبیه این داشته باشد:
@ IN A 203.0.113.10
www IN A 203.0.113.10
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.20
اگر سرویس DNS قبلی به شما اجازه Export کردن Zone File بدهد، در بسیاری از مواقع می‌توانید همان فایل را در Hetzner Import کنید.
Hetzner تأکید می‌کند فایل واردشده باید با فرمت BIND سازگار باشد.

چه زمانی Import zone file بهتر از Empty Zone است؟

فرض کنید روی دامنه شما 30 رکورد مختلف وجود دارد.
ممکن است رکوردهای سایت اصلی، چند Subdomain، سرویس ایمیل، Google Workspace، DKIM، SPF، سرویس‌های Verification و چند سرور مختلف روی DNS تنظیم شده باشند.
ساخت همه این موارد به‌صورت دستی هم زمان‌بر است و هم احتمال خطا دارد.
در این سناریو، اگر بتوانید Zone File سرویس قبلی را Export کنید، Import zone file انتخاب راحت‌تری است.
اما اگر دامنه جدید است یا فقط دو سه رکورد ساده دارید، Create an empty zone معمولاً سریع‌تر و قابل‌کنترل‌تر خواهد بود.

گزینه Secondary چیست؟

گزینه سوم تصویر Secondary است و بیشتر برای کاربران حرفه‌ای، شرکت‌ها و زیرساخت‌هایی کاربرد دارد که از چند DNS Server استفاده می‌کنند.
در این حالت DNS Zone اصلی یا Primary Zone نزد یک سرویس یا DNS Server دیگر باقی می‌ماند و Hetzner به‌عنوان Secondary DNS فعالیت می‌کند.
Hetzner به‌صورت دوره‌ای با استفاده از AXFR نسخه کامل DNS Zone را از Primary Server دریافت می‌کند.

Secondary DNS به چه دردی می‌خورد؟

یکی از کاربردهای Secondary DNS افزایش Redundancy یا افزونگی DNS است.
فرض کنید شرکت شما DNS Server اختصاصی خودش را مدیریت می‌کند.
به‌جای اینکه تمام درخواست‌های DNS فقط توسط همان سرور پاسخ داده شوند، می‌توانید Hetzner را به‌عنوان Secondary DNS نیز اضافه کنید.
در این حالت اطلاعات اصلی DNS همچنان روی Primary Server مدیریت می‌شود و Hetzner یک نسخه از Zone را دریافت می‌کند. درخواست‌های DNS نیز می‌توانند توسط Nameserverهای Primary و Secondary پاسخ داده شوند.

AXFR چیست؟

AXFR روشی برای انتقال کامل DNS Zone بین DNS Serverها است.
در سناریوی Secondary، Hetzner درخواست AXFR را برای Primary DNS Server ارسال می‌کند و نسخه فعلی Zone را دریافت می‌کند.
بنابراین رکوردهای اصلی را داخل Secondary Zone هتزنر به‌صورت مستقل مدیریت نمی‌کنید؛ منبع اصلی اطلاعات همان Primary DNS Server است.
هنگام انتخاب Secondary نیز باید IP و Port مربوط به Primary DNS Server را در اختیار Hetzner قرار دهید.

برای یک سایت معمولی کدام گزینه را انتخاب کنیم؟

اگر فقط یک دامنه دارید و می‌خواهید آن را به VPS، Dedicated Server یا سرویس دیگری متصل کنید، در اکثر مواقع:
Create an empty zone
ساده‌ترین گزینه است.
بعد از ساخت Zone، رکوردهای موردنیاز را اضافه می‌کنید و سپس Nameserverهای دامنه را تغییر می‌دهید.
Import zone file بیشتر زمانی مناسب است که از DNS Provider دیگری مهاجرت می‌کنید و تعداد رکوردها زیاد است.
Secondary نیز برای زیرساخت‌های حرفه‌ای که از Primary DNS مستقل و Zone Transfer استفاده می‌کنند کاربرد دارد.

بعد از کلیک روی Add DNS Zone چه اتفاقی می‌افتد؟

بعد از وارد کردن Domain Name و انتخاب روش موردنظر، روی دکمه:
Add DNS zone
کلیک می‌کنید.
در حالت Primary Zone، Hetzner Zone را ایجاد می‌کند و می‌توانید رکوردهای DNS را از داخل Console مدیریت کنید. Hetzner همچنین Nameserverهایی را که باید برای دامنه استفاده کنید در بخش Name servers همان Zone نمایش می‌دهد.
اگر Create an empty zone را انتخاب کرده باشید، مرحله بعد معمولاً اضافه کردن A Record، CNAME، MX، TXT و سایر رکوردهای موردنیاز است.

Nameserver چیست و چرا باید آن را تغییر دهیم؟

Nameserver مشخص می‌کند اطلاعات معتبر DNS یک دامنه را باید از کدام DNS Server دریافت کرد.
اگر DNS Zone را در Hetzner ساخته‌اید اما Nameserverهای دامنه همچنان روی شرکت قبلی قرار داشته باشند، اینترنت همچنان تنظیمات DNS قبلی را استفاده می‌کند.
برای Primary Zone باید وارد پنل Registrar دامنه شوید و Nameserverهای قبلی را با Nameserverهایی که Hetzner در بخش Name servers Zone نمایش می‌دهد جایگزین کنید.
نکته مهم این است که تغییر NS Record داخل Zone به‌تنهایی جایگزین تغییر Nameserver در Registrar دامنه نمی‌شود.

تغییر Nameserver چقدر زمان می‌برد؟

بعد از تغییر Nameserver نباید انتظار داشته باشید همه کاربران جهان همان لحظه تنظیمات جدید را ببینند.
طبق مستندات Hetzner، تغییر Nameserver می‌تواند تا 48 ساعت برای انتشار کامل یا Propagation زمان نیاز داشته باشد.
در عمل ممکن است تغییرات بسیار زودتر در برخی شبکه‌ها مشاهده شوند، اما برای مهاجرت‌های مهم بهتر است این بازه زمانی را در برنامه خود در نظر داشته باشید.

بعد از ساخت DNS Zone چه رکوردهایی لازم داریم؟

این موضوع به سرویس‌هایی که روی دامنه استفاده می‌کنید بستگی دارد.
برای یک سایت ساده معمولاً A یا AAAA Record نیاز دارید.
برای Subdomain ممکن است از A یا CNAME استفاده شود.
برای ایمیل معمولاً رکوردهای MX و در بسیاری از سرویس‌ها TXT Recordهایی برای SPF، DKIM یا Verification نیز موردنیاز هستند.
Hetzner پس از ساخت Zone به‌جز SOA و NS، سایر رکوردهای موردنیاز سایت یا ایمیل را برای شما ایجاد نمی‌کند.

نمونه تنظیم DNS برای سایت و ایمیل

فرض کنیم دامنه:
example.com
روی یک Web Server با IP:
203.0.113.10
قرار دارد.
Mail Server نیز:
mail.example.com
است.
یک ساختار ساده می‌تواند چیزی شبیه این باشد:

TypeNameValueکاربرد
A@203.0.113.10اتصال دامنه اصلی به سرور
Awww203.0.113.10اتصال www به سایت
Amail203.0.113.20IP سرور ایمیل
MX@mail.example.com.مشخص کردن Mail Server
این ساختار با نمونه‌ای که Hetzner برای Web Server و Mail Server در مستندات DNS خود ارائه کرده هم‌خوانی دارد.

چرا در بعضی DNS Recordها نقطه آخر مهم است؟

یکی از اشتباهات رایج هنگام تنظیم DNS، مخصوصاً در MX یا CNAME، فراموش کردن نقطه انتهای FQDN است.
برای مثال:
mail.example.com.
با:
mail.example.com
ممکن است در Zone File رفتار یکسانی نداشته باشد.
Hetzner توضیح می‌دهد وقتی نام با نقطه تمام شود، مقدار به‌عنوان FQDN کامل در نظر گرفته می‌شود. اگر نقطه وجود نداشته باشد، Zone فعلی ممکن است به انتهای آن اضافه شود.
به همین دلیل هنگام انتقال رکوردهای ایمیل، CNAME و MX بهتر است مقادیر را دقیقاً طبق اطلاعات سرویس‌دهنده وارد کنید.

آیا Hetzner DNS فقط برای سرورهای Hetzner است؟

خیر.
DNS وظیفه مشخص کردن مقصد دامنه را دارد و مقصد الزاماً نباید یک سرور Hetzner باشد.
برای مثال می‌توانید DNS Zone را در Hetzner مدیریت کنید ولی A Record دامنه را به IP یک سرور در دیتاسنتر دیگری متصل کنید.
یا مثلاً MX Record را روی سرویس ایمیل خارجی قرار دهید.
در نتیجه می‌توانید مدیریت DNS را از سرویس Hosting و Registrar دامنه جدا نگه دارید.

یک سناریوی واقعی برای وردپرس

فرض کنید دامنه:
myshop.com
را از یک Registrar دیگر خریداری کرده‌اید و یک VPS برای WordPress در Hetzner دارید.
ابتدا وارد Hetzner Console می‌شوید و از بخش DNS گزینه Add zone را انتخاب می‌کنید. سپس:
myshop.com
را در Domain Name وارد کرده و Create an empty zone را انتخاب می‌کنید.
بعد از ایجاد Zone یک A Record برای @ و یک رکورد برای www به IP سرور وردپرس اضافه می‌کنید.
در مرحله آخر Nameserverهایی را که Hetzner برای Zone نمایش می‌دهد در پنل Registrar دامنه قرار می‌دهید. Hetzner برای Primary Zone همین فرآیند Delegation را توصیه می‌کند.
بعد از Propagation، وقتی کاربر آدرس دامنه شما را وارد کند، DNS هتزنر IP سرور وردپرس را در اختیار او قرار می‌دهد.

Create Empty Zone یا Import Zone؛ کدام امن‌تر است؟

از نظر امنیت نمی‌توان گفت یکی از این دو گزینه ذاتاً امن‌تر است. تفاوت اصلی در روش ساخت تنظیمات است.
اگر رکوردهای فعلی DNS را دقیق نمی‌شناسید و سرویس‌های متعددی مثل ایمیل، CDN یا سرویس‌های Verification روی دامنه فعال هستند، Import کردن یک Zone File صحیح می‌تواند احتمال فراموش شدن رکوردها را کاهش دهد.
اما برای یک دامنه تازه یا یک پروژه ساده، Empty Zone باعث می‌شود فقط رکوردهایی را که واقعاً نیاز دارید از ابتدا ایجاد کنید.
مهم‌تر از انتخاب این دو گزینه، بررسی کامل رکوردها قبل از تغییر Nameserver است.

قبل از تغییر Nameserver این نکته را جدی بگیرید

اگر دامنه از قبل فعال است، به‌خصوص اگر از ایمیل شرکتی استفاده می‌کنید، قبل از تغییر Nameserver تمام DNS Recordهای فعلی را بررسی و به Hetzner منتقل کنید.
فرض کنید A Record سایت را منتقل کنید اما MX یا TXTهای مربوط به ایمیل را فراموش کنید.
ممکن است سایت بدون مشکل باز شود، ولی دریافت ایمیل یا Authentication سرویس ایمیل دچار مشکل شود.
چون Hetzner هنگام ساخت Zone به‌صورت خودکار رکوردهای سایت و ایمیل قبلی شما را ایجاد نمی‌کند، مسئولیت اضافه کردن این رکوردها با خود شما است.

خلاصه گزینه‌های تصویر Add DNS Zone

اگر بخواهیم سه گزینه تصویر را خیلی خلاصه جمع‌بندی کنیم:
Create an empty zone:
برای ساخت DNS Zone جدید از صفر. Hetzner فقط NS و SOA را ایجاد می‌کند و بقیه رکوردها را خودتان اضافه می‌کنید.
Import zone file:
برای زمانی که یک BIND-compatible Zone File از سرویس DNS قبلی دارید و می‌خواهید رکوردها را یکجا منتقل کنید.
Secondary:
برای زمانی که Primary DNS Server جای دیگری قرار دارد و می‌خواهید Hetzner با استفاده از AXFR یک نسخه Secondary از Zone داشته باشد.

جمع‌بندی

بخش Add DNS zone در Hetzner برای اضافه کردن یک دامنه و مدیریت DNS آن استفاده می‌شود و لازم نیست برای این کار حتماً خود دامنه را به Hetzner منتقل کنید.
برای اکثر کاربران عادی که یک VPS یا سایت وردپرسی دارند، انتخاب Create an empty zone منطقی‌ترین نقطه شروع است. پس از ساخت Zone، Hetzner رکوردهای NS و SOA را ایجاد می‌کند و شما رکوردهایی مثل A، CNAME، MX و TXT را بر اساس نیاز پروژه اضافه می‌کنید.
اگر DNS شما از قبل روی سرویس دیگری تنظیم شده و Zone File دارید، Import zone file مهاجرت را راحت‌تر می‌کند. گزینه Secondary نیز بیشتر برای زیرساخت‌های حرفه‌ای و سناریوهای Redundancy کاربرد دارد.
در نهایت اگر Primary Zone را در Hetzner ساخته‌اید، Nameserverهای معرفی‌شده در Hetzner را در Registrar دامنه قرار دهید. انتشار کامل تغییر Nameserver نیز ممکن است تا 48 ساعت زمان ببرد.
مدیریت DNS Zone در Hetzner در حال حاضر رایگان است، بنابراین برای ایجاد و مدیریت این Zoneها هزینه ماهانه جداگانه‌ای پرداخت نمی‌کنید.