اموزش نصب dns سرور بر روی centos

اموزش نصب dns سرور بر روی centos

نصب dns سرور

 

DNS یا (Domain Name System) یک سیستم توزیع می باشد که وظیفه ی ترجمه ی ادرس دامنه به Ip و برعکس را برعهده دارد.برای مثال زمانی که ما ادرس دامنه یک وب سایت را برای مثال www.vpsroyal.com در مرورگر خود وارد می کنیم یک درخواست به سمت dns سرور ارسال شده و ادرس ip سرور برگشت داده می شود.

 

این مقاله قدم به قدم شما را با نحوه ی نصب dns سرور بر روی لینوکس centos یا redhat اشنا می کند:

 

سناریوی شبکه :

 

DNS Server IP: 192.168.1.254

DNS Server Name:ns1.vpsroyal.com,ns2.vpsroyal.com

Domain Name:vpsroyal.com

Domain IP to point: 192.168.1.100

1-نصب پکیج های bind :

پکیج های bind به صورت yum repositories در دسترس می باشد, فقط کافی است تا دستور زیر را در لینوکس خود وارد نمایید

yum install bind bind-chroot

2-ادیت فایل اصلی کانفیگ :

فایل کانفیگ اصلی bind در دایرکتوری etc/ قرار دارد.اما با توجه به استفاده از chroot این فایل در مسیر var/named/chroot/etc/ در دسترس می باشد,حال فایل کانفیگ را ادیت کرده و محتوای ان را به مانند زیر اپدیت نمایید.

vim /var/named/chroot/etc/named.conf

// /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.1.0/24; 0.0.0.0/0; };
listen-on-v6 port 53 { ::1; };
directory       “/var/named”;
dump-file       “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query     { localhost; 192.168.1.0/24; 0.0.0.0/0; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;

managed-keys-directory “/var/named/dynamic”;
};

logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};

zone “.” IN {
type hint;
file “named.ca”;
};

zone “demotecadmin.net” IN {
type master;
file “/var/named/demotecadmin.net.db”;
};

include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;

3-در این مرحله فایل zone را برای دامنه خود ایجاد می کنیم :

بعد از ایجاد فایل کانفیگ bind اقدام به ایجاد یک فایل zone برای دامنه ی خود همانند فایل کانفیگ می کنیم, در این مثال ادرس ما demotecadmin.net.db می باشد.

vim /var/named/chroot/var/named/demotecadmin.net.db

; Zone file for demotecadmin.net
$TTL 14400
@      86400    IN      SOA     ns1.tecadmin.net. webmaster.tecadmin.net. (
3013040200      ; serial, todays date+todays
86400           ; refresh, seconds
7200            ; retry, seconds
3600000         ; expire, seconds
86400          ; minimum, seconds
)
demotecadmin.net. 86400 IN NS ns1.tecadmin.net.
demotecadmin.net. 86400 IN NS ns2.tecadmin.net.
demotecadmin.net. IN A 192.168.1.100
demotecadmin.net. IN MX 0 mail.demotecadmin.net.
mail               IN CNAME demotecadmin.net.
www               IN CNAME demotecadmin.net.

اگر شما دامنه های بیشتری دارید باید فایل های zone مرتبط با ان ها را هم ایجاد نمایید.

4-اضافه کردن دامنه های بیشتر :

برای اضافه کردن دامنه های بیشتر در dns,مانند مثال بالا برای تمامی دامنه ها zone فایل مستقل بسازید,بعد از ان باید تمامی ان ها را به شکل زیر در فایل named.conf اضافه نمایید, مقدار demotecadmin.net را با ادرس دامنه موردنظر خود تغییر دهید.

zone “demotecadmin.net” IN {
type master;
file “/var/named/demotecadmin.net.db”;
};

5-استارت سرویس bind :

برای استارت سرویس bind از دستور زیر استفاده نمایید :

service named restart

و از دستور زیر به صورت اتوماتیک استارت در هنگام ریبوت شدن سرور می توانید استفاده نمایید

chkconfig named on

6-تست نصب dns سرور :

توسط دستور زیر به صورت مستقیم یک کوئری به سمت dns سرور ارسال می کنیم

nslookup <domainname> <dns server name/ip>

———————-

nslookup demotecadmin.net 192.168.1.254

Server:         192.168.1.254
Address:        192.168.1.254#53

Name:   demotecadmin.net
Address: 192.168.1.100

توسط دستور بالا مشاهده می کنید که خروجی ما به صورت صحیح برگشت داده شده است.

09123781949