آموزش cPanelبلاگ

نحوه راه اندازی یک DNS Zone در سرور بدون cPanel

برای استفاده از private nameservers، مهم است که بدانید چگونه یک DNS Zone را بر روی سرور خود
بدون cPanel تنظیم کنید و بگذارید درخواست های DNS را پاسخ دهد.

اگرچه ما در ابتدا در سیستم عامل های اوبونتو و CentOS تمرکز می کنیم، یعنی اوبونتو 16.04 و CentOS 7، اما این راهنما ممکن است برای کاربران لینوکس مفید باشد زیرا اصول اساسی یکسان هستند.

با توجه به نرم افزار DNS ما، از BIND9 استفاده می کنیم. در یک سرور فرضیه، ابتدا یک DNS Zone vh با آدرس آی پی 1.2.3.4 برای نام دامنه nctest.info با نیم سرورهای ns1.nctest.info و ns2.nctest.info ایجاد می کنیم.

توجه: با پیروی از دستورالعمل های زیر، شما باید 1.2.3.4 و nctest.info را با آدرس IP مربوط با سرور خود و نام دامنه خود جایگزین کنید تا مطمئن شوید که به درستی کار می کند.

ایجاد یک DNS Zone با اوبونتو

اول از همه، شما باید از طریق SSH به سرور خود متصل شوید.

در لینوکس و MacOS، میتوانید از دستور زیر استفاده کنید:

ssh root@ -pPORT

IP < IP سروری است که شما می خواهید به آن وصل شوید.

PORT: پورت اتصال – 22 برای سرور مجازی / سرور اختصاصی به طور پیش فرض.

در مثال ما:

ssh root@1.2.3.4 -p22

برای ویندوز، شما می توانید از نرم افزار PuTTY استفاده کنید.

هنگامی که وارد سیستم شدید، مطمئن شوید که سرور شما به طور کامل به روزرسانی شده است. برای انجام این کار، دستورات زیر را یکی پس از دیگری اجرا کنید:

apt-get update
apt-get upgrade
apt-get dist-upgrade

پس از انجام این کار BIND را با استفاده از دستور زیر نصب کنید:

apt-get install bind9 bind9utils bind9-doc

پس از اجرای دستور، BIND9 DNS سرور در حال حاضر بر روی سیستم شما نصب شده است و شما می توانید آن را پیکربندی کنید.

فایل اصلی پیکربندی را با استفاده از دستور باز کنید:

nano /etc/bind/named.conf

و اطمینان حاصل کنید که خطوط زیر در فایل موجود است:

include “/etc/bind/named.conf.options”;
include “/etc/bind/named.conf.local”;
include “/etc/bind/named.conf.default-zones”;

این خطوط برای افزودن فایل های پیکربندی دیگر، علاوه بر موارد اصلی، برای پیکربندی برنامه از جانب ما مورد نیاز است. اگر خطوط اضافه نشده باشند، به راحتی آنها را اضافه کنید.

سپس، Ctrl + X را فشار دهید , سپس Enter / return را فشار دهید. این کار تغییرات را ذخیره می کند ، حال فایل را ببندید.

حالا ما باید DNS Zone خود را تعریف کنیم. برای انجام این کار، فایل /etc/bind/named.conf.local را باز کنید:

nano /etc/bind/named.conf.local

و فایل زیر را وارد کنید:

zone “nctest.info” {
type master;
file “/etc/bind/nctest.info”;
};

به یاد داشته باشید که بجای nctest.info باید با نام دامنه خود جایگزین کنید.

این کار به BIND9 می گوید که برای پیدا کردن DNS Zone های دامنه nctest.info در فایل /etc/bind/nctest.info جست و جو کند.

Ctrl + X را فشار داده سپس Y را فشار دهید و Enter را بزنید.

اکنون باید فایل Zone را باز کنید و DNS Records لازم را در آنجا اضافه کنید:

nano /etc/bind/nctest.info

متن زیر نیز باید به فایل اضافه شود:

$TTL 86400
@ IN SOA ns1.nctest.info. root.nctest.info. (
2019021501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS ns1.nctest.info.
@ IN NS ns2.nctest.info.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.4
@ IN A 1.2.3.4

توجه: فراموش نکنید که نام دامنه nctest.info و آدرس 1.2.3.4 را به مقادیر لازم تغییر دهید.

Serial number باید با توجه به تاریخ فعلی در قالب YYYYMMDDXX تغییر یابد، جایی که XX نشان دهنده تعداد تغییرات Zone در یک روز خاص است. اگر فقط Zone را ایجاد می کنید، 01 را در آن قرار دهید. اگر این سومین بار در روز است که شما DNS Zone را تغییر می دهید، 04 را به جای XX قرار دهید.

شما همچنین می توانید هر DNS records ضروری را در این فایل اضافه کنید که Zone نام دامنه شما را ذخیره می کند. برای ایجاد هر گونه تغییر در Zone خود، باید این فایل را باز کرده و آن را ویرایش کنید. هنگام انجام هر گونه تغییر، فراموش نکنید که Serial number (با توجه به تاریخ فعلی) را افزایش دهید.

در اینجا یک مثال از یک DNS Zone وجود دارد:

پس از انجام این کار، Ctrl + X را فشار دهید، Y را تایپ کنید و سپس Enter / return را فشار دهید.

در گام بعدی اطمینان حاصل شود که پوشه BIND9 مجوز صحیح و صاحب صحیح را دارد:

chmod -R 755 /etc/bind
chown -R bind:bind /etc/bind

اکنون که تنظیمات اولیه انجام شده، اجازه دهید بررسی کنیم که آیا همه چیز به درستی پیکربندی شده است. برای انجام این کار دستورات زیر را اجرا کنید:

named-checkconf /etc/bind/named.conf
named-checkconf /etc/bind/named.conf.local

اگر این دستورات هیچ چیزی را باز نمی گرداند، به این معنی است که همه چیز به درستی پیکربندی شده است.

اکنون DNS Zone ایجاد شده را بررسی کنید:

named-checkzone nctest.info /etc/bind/nctest.info

خروجی باید به صورت زیر باشد:

zone nctest.info/IN: loaded serial 2019021501
OK

به عنوان قدم نهایی، سرور DNS خود را مجددا راه اندازی کنید:

systemctl restart bind9

کار تمام است! اکنون می توانید با استفاده از دستور dig ببینید که چگونه کار می کند.

ممکن است متوجه شده باشید ما تنها یک DNS Zone رو به جلو راه اندازی کردیم. چرا؟ از آنجا که پیکربندی یک DNS Zone معکوس امکان پذیر نیست و ثبت PTR را برای آدرس IP سرور شما به همان شیوه تنظیم می کند.

راه اندازی یک DNS Zone با CentOS

اول از همه، شما باید از طریق SSH به سرور خود متصل شوید.

در لینوکس و MacOS، میتوانید از دستور زیر استفاده کنید:

ssh root@ -pPORT

IP < IP سروری است که شما می خواهید به آن وصل شوید.

PORT: پورت اتصال – 22 برای سرور مجازی / سرور اختصاصی به طور پیش فرض.

در مثال ما:

ssh root@1.2.3.4 -p22

برای ویندوز، شما می توانید از نرم افزار PuTTY استفاده کنید.

هنگامی که وارد سیستم شدید، مطمئن شوید که سرور شما به طور کامل به روزرسانی شده است. برای انجام این کار، دستور زیر را اجرا کنید:

yum update

پس از انجام این کار، BIND را با استفاده از دستور زیر نصب کنید:

yum install bind bind-utils

پس از اجرای دستور، BIND9 DNS Server در حال حاضر بر روی سیستم شما نصب شده است و شما می توانید آن را پیکربندی کنید.

به طور پیش فرض تنها localhost مجاز است. با این حال،سرورهای نیاز دارد تا به پرس و جو از سراسر جهان پاسخ دهند، بنابراین لازم است این پیکربندی را تغییر دهید.

با استفاده از دستور زیر، فایل اصلی پیکربندی را باز کنید:

nano /etc/named.conf

در فایل، پارامترهای زیر را تغییر دهید:

listen-on port 53
allow-query

سپس ما باید نام named.conf.local را به پیکربندی برنامه اضافه کنیم که ما برای تعریف DNS Zones استفاده خواهیم کرد.

خط زیر را به انتهای فایل اضافه کنید:

include “/etc/named/named.conf.local”;

Ctrl + X را فشار داده، سپس Y را تایپ کرده و Enter / return را فشار دهید. این تغییرات را ذخیره و فایل را ببندید.

حالا ما باید DNS Zone خود را تعریف کنیم. برای انجام این کار، فایل /etc/bind/named.conf.local را باز کنید:

nano /etc/named/named.conf.local

اینجا باید خالی باشد اکنون فایل زیر را وارد کنید:

zone “nctest.info” {
type master;
file “/etc/named/nctest.info”;
};

به یاد داشته باشید که nctest.info باید با نام دامنه خود جایگزین شود.

Ctrl + X را فشار داده، سپس Y را تایپ کرده و Enter / return را فشار دهید.

اکنون فایل Zone را باز کنید و DNS Records لازم را در آنجا اضافه کنید:

nano /etc/named/nctest.info

متن زیر نیز باید به فایل اضافه شود:

$TTL 86400
@ IN SOA ns1.nctest.info. root.nctest.info. (
2019021501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS ns1.nctest.info.
@ IN NS ns2.nctest.info.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.4
@ IN A 1.2.3.4

فراموش نکنید که دامنه nctest.info و آدرس 1.2.3.4 را به مقادیر مورد نیاز تغییر دهید.

Serial number باید با توجه به تاریخ فعلی در قالب YYYYMMDDXX تغییر یابد، جایی که XX نشان دهنده تعداد تغییرات Zone در یک روز خاص است. اگر فقط Zone را ایجاد می کنید، 01 را در آن قرار دهید. اگر این سومین بار در روز است که شما DNS Zone را تغییر می دهید، 04 را به جای XX قرار دهید.

شما همچنین می توانید هر DNS records ضروری را در این فایل اضافه کنید که Zone نام دامنه شما را ذخیره می کند. برای ایجاد هر گونه تغییر در Zone خود، باید این فایل را باز کرده و آن را ویرایش کنید. هنگام انجام هر گونه تغییر، فراموش نکنید که Serial number (با توجه به تاریخ فعلی) را افزایش دهید.

در اینجا یک مثال از یک DNS Zone وجود دارد:

Ctrl + X را فشار داده، سپس Y را تایپ کرده و Enter / return را فشار دهید.

در گام بعدی اطمینان حاصل شود که پوشه BIND9 مجوز صحیح و صاحب صحیح را دارد:

chmod -R 755 /etc/bind
chown -R bind:bind /etc/bind

اکنون که تنظیمات اولیه انجام شده، اجازه دهید بررسی کنیم که آیا همه چیز به درستی پیکربندی شده است. برای انجام این کار دستورات زیر را اجرا کنید:

named-checkconf /etc/bind/named.conf
named-checkconf /etc/bind/named.conf.local

اگر این دستورات هیچ چیزی را باز نمی گرداند، به این معنی است که همه چیز به درستی پیکربندی شده است.

اکنون DNS Zone ایجاد شده را بررسی کنید:

named-checkzone nctest.info /etc/bind/nctest.info

خروجی باید به صورت زیر باشد:

zone nctest.info/IN: loaded serial 2019021501
OK

به عنوان قدم نهایی، سرور DNS خود را مجددا راه اندازی کنید:

systemctl restart bind9

کار تمام است! اکنون می توانید با استفاده از دستور dig ببینید که چگونه کار می کند.

ممکن است متوجه شده باشید ما تنها یک DNS Zone رو به جلو راه اندازی کردیم. چرا؟ از آنجا که پیکربندی یک DNS Zone معکوس امکان پذیر نیست و ثبت PTR را برای آدرس IP سرور شما به همان شیوه تنظیم می کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا