خوش آمدید - امروز : یکشنبه ۴ آذر ۱۴۰۳
خانه » آموزش کانفیگ سرور » آموزش نصب و کانفیگ Dns Server در لینوکس توزیع Centos

آموزش نصب و کانفیگ Dns Server در لینوکس توزیع Centos

بطور ساده سیستم نام دامنه (DNS) یک سیستم نامگذاری توزیع سلسله مراتبی برای رایانه ها، سرویس ها یا هر منبعی است که به اینترنت یا شبکه خصوصی وصل شده است که اطلاعات دامنه های مختلف اختصاص داده شده به هر وب سایت و شرکت را هندل میکند . مهمتر از همه، آن را به بصورت نام دامنه معنی دار و قابل فهم برای انسان و شناسه عددی مرتبط با تجهیزات شبکه به منظور قرار دادن و آدرس دادن این دستگاه ها در سراسر جهان ترجمه می کند. در واقع dns سرور کار اتصال دامنه به یک سرور را انجام میدهد در این پست با نصب و راه اندازی یک dns server روی لینوکس در توزیع centos نسخه 7 آشنا خواهیم شد.

فرضیه ها

فرض میکنیم یک سرور داریم با آیپی 192.168.12.8 و یک دامنه نیز داریم بنام nginxweb.ir

خوب شروع میکنیم

بسته BIND را نصب کنید

BIND مخفف Berkeley Internet Name Domain میباشد که نرم افزاری است که توانایی تبدیل نام دامنه به آیپی را فراهم میکند که با دستور زیر نصب می نماییم:

yum -y install bind bind-utils

پیکربندی و کانفیگ BIND

فایل کانفیگ مربوط به سرویس bind  در مسیر  /etc/named.conf است، فایل /etc/named.conf را باز کنید

دو خط زیر را بیاید در در حالت comment قرار دهید:


#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };

خوب شبکه خود را در خط زیر اضافه کنید. من 192.168.12.0/24 را اضافه کرده ام، و این به مشتریان اجازه می دهد از شبکه ذکر شده می توانند از DNS برای ترجمه نام به IP استفاده کنند

allow-query     { localhost;192.168.12.0/24; };

اگر می خواهید تمام zone ها را به سرور برده (192.168.12.6) انتقال دهید، خط زیر را اضافه کنید (اختیاری)

allow-transfer { 192.168.12.6; };

ساخت فایل های Zone

خوب یک زیر ما یک zone مختص دامنه nginxweb.ir نوشته ایم که در فایل named.conf اضافه میشود


zone "nginxweb.ir" IN {
type master;
file "fwd.nginxweb.ir.db";
allow-update { none; };
};

مثال زیر نیز ورودی معکوس در فایل named.conf زیر است. که reverse zone گفته میشود


zone "12.168.192.in-addr.arpa" IN {
type master;
file "12.168.192.db";
allow-update { none; };
};

در مثال بالا:
12.168.192.in-addr.arpa – نام مراجعه معکوس
Master نمایانگر dns اولیه میباشد
12.168.192.db – فایل مراجعه معکوس یا همان  reverse lookup میباشد
allow-update – از آنجا که این DNS اصلی است، باید آن را نداشته باشد که برای همین ما آن را در حالت none قرار داده ایم

ایجاد و ساخت zone فایل ها

اکنون زمان ایجاد فایل lookup برای یک zone ایجاد شده است. به طور پیش فرض، فایل های lookup در zone در پوشه / var / named قرار می گیرند

یک فایل zone به نام fwd.nginxweb.ir.db برای lookup رو به جلو در پوشه / var / named ایجاد کنید

توجه داشته باشید تمام نام دامنه باید با نقطه (.) پایان یابد.

برخی از کلمات کلیدی ویژه برای Zone Files بصورت زیر هستند:


A – A record
NS – Name Server
MX – Mail for Exchange
CNAME – Canonical Name

خوب فایل zone ایجاد شده را باز میکنیم

vi /var/named/fwd.nginxweb.ir.db

حالا محتوای زیر را وارد میکنیم


$TTL 86400
@   IN  SOA     primary.nginxweb.ir. root.nginxweb.ir. (
2014112511  ;Serial
3600        ;Refresh
1800        ;Retry
604800      ;Expire
86400       ;Minimum TTL
)
;Name Server Information
@      IN  NS      primary.nginxweb.ir.
;IP address of Name Server
primary IN  A       192.168.12.8
;Mail exchanger
nginxweb.ir. IN  MX 10   mail.nginxweb.ir.
;A - Record HostName To Ip Address
www     IN  A       192.168.12.100
mail    IN  A       192.168.12.150
;CNAME record
ftp     IN CNAME        www.nginxweb.ir.

یک فایل “zone” به نام 12.168.192.db برای “reverse zone” در زیر پوشه /var/named ایجاد کنید، یک reverse pointer نیز برای zone فوق تنظیم میکنیم


PTR – Pointer
SOA – Start of Authority

# vi /var/named/12.168.192.db

$TTL 86400
@   IN  SOA     primary.nginxweb.ir. root.nginxweb.ir. (
2014112511  ;Serial
3600        ;Refresh
1800        ;Retry
604800      ;Expire
86400       ;Minimum TTL
)
;Name Server Information
@ IN  NS      primary.nginxweb.ir.
;Reverse lookup for Name Server
8        IN  PTR     primary.nginxweb.ir.
;PTR Record IP address to HostName
100      IN  PTR     www.nginxweb.ir.
150      IN  PTR     mail.nginxweb.ir.

پس از ایجاد فایل های zone، سرویس bind را مجددا ریستارت کنید.

 systemctl restart named.service

همچنین سرویس را برای شروع در startup فعال کنید:

 systemctl enable named.service

خوب تبریک میگم شما تونستید bind dns server را روی centos 7 نصب و کانفیگ و راه اندازی نمایید و  هم اکنون اگر کار را صحیح انجام داده باشید domain شما به سرور متصل خواهد شد. در صورتیکه در dns سرور خود مشکلی دارید و نیاز به کانفیگ تخصصی و رفع اشکال دارید حتما با کارشناسان شرکت ما تماس بگیرید تا به بهترین نحو کانفیگ خدمتتون انجام و تنظیم شود.

نویسنده: عیسی محمدزاده
کارشناس مدیریت سرور و هاستینگ و امنیت شبکه

امتیاز 5.00 ( 4 رای )
اشتراک گذاری مطلب

تاکنون 3 نظر ثبت شده است.

  1. با سلام
    من تمامی این مراحل رو انجام دادم اما هنوز با تایپ کردن آدرس نمیتونم وارد سایت بشم
    در صورتی از طریق آی پی به راحتی صفحه اصلی سایت رو دارم

    به نظر شما کجای کار مشکل داره؟

    • درود. وقتی با آدرس نمیتوانید وارد شوید یعنی dns سرور شما یا رکوردهای zone ایجاد شده شما صحیح تنظیم نشده اند که باید مورد فوق را بررسی کنید همچنین فایروال نیز بررسی شود که پورت 53 حتما در سرور باز و فعال باشد

      • با سلام
        منم دقیقا همین مشکل رو دارم. با IP میتونم سایت هاست شده روی سرور مجازی رو ببینم ولی با اسم دامین نمیتونم.
        من تمامی تنظیمات رو هم درست رفتم و همچنین پورت ۵۳ و خود dns رو هم در فایروال باز کردم.
        در ضمن من وقتی nslookup میگیریم از NameServer تنظیم شده، بهم جواب میده و ip سرور رو برمیگردونه.
        شما میتونید کمک کنید و بگید مشکل از کجاست؟
        ممنون

کلیه حقوق مادی و معنوی مطالب و مقالات متعلق به وب سایت انجین ایکس وب میباشد - طراحی شده توسط پارس تمز