نصب سرویس dns در لینوکس

هنگامی که شما برای ورود به سایتی #آدرس_سایت را در مرورگر خود وارد می کنید این #نام_دامنه به سروری ارسال می شود که نام سایت ها و آی پی به هرکدام را در #بانکهای_اطلاعاتی خود دارد. به این سروریس Domain Name Server گفته می شود. کارکرد این سرویس بدین شرح می باشد که وقتی شما آدرس سایت را در مرورگر وارد می کنید ابتدا آن آدرس به این سرور ارسال می شود و سرور آی پی آن دامنه را پیدا کرده و ارتباط شما با هاست آن سایت را از طریق آی پی برقرار می کند. حال که کاربرد این سرویس را می دانید با ما همراه باشید تا نصب سرویس dns در لینوکس را نیز یاد بگیرید.

نصب سرویس dns در لینوکس را با دستور زیر اجرا کنید:

[root@dns ~]# yum install bind bind-utils

توجه داشته باشید که در این نوشته اسم دامین ما domain.com اسم DNS سرور ما dns.domain.com و آدرس آی پی سرور ۱۹۲٫۱۶۸٫۲۰٫۲۰ می باشد.

پس از نصب سرویس dns در لینوکس فایل پیکربندی آن در مسیر /etc/named.comf ایجاد می شود این فایل شامل یکسری پیکربندی های این سرویس می باشد و باید بعد از نصب تنظیم شود در این نوشته بخش های مهم که باید تغییر داده شود مورد بررسی قرار می دهیم.

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

options {

listen-on port 53 { 127.0.0.1; 192.168.20.20};

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.20.0/24};

/*

– If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.

– If you are building a RECURSIVE (caching) DNS server, you need to enable

recursion.

– If your recursive DNS server has a public IP address, you MUST enable access

control to limit queries to your legitimate users. Failing to do so will

cause your server to become part of large scale DNS amplification

attacks. Implementing BCP38 within your network would greatly

reduce such attack surface

*/

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”;

pid-file “/run/named/named.pid”;

session-keyfile “/run/named/session.key”;

};

logging {

channel default_debug {

file “data/named.run”;

severity dynamic;

};

};

zone “.” IN {

type hint;

file “named.ca”;

};

zone “domain.com” IN{

type master;

file “forward.domain”;

allow-update{none;};

};

zone “۲۰٫۱۶۸٫۱۹۲٫in-addr.arpa” IN{

type master;

file “reverse.domain”;

allow-update{none;};

};

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

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

۱-آدرس آی پی سرور DNS: مقدار ۱۹۲٫۱۶۸٫۲۰٫۲۰

listen-on port 53 { 127.0.0.1; 192.168.20.20};

۲-دایرکتوری حاوی فایل های سرویس DNS: مقدار /var/named

directory “/var/named”;

۳-آدرس شبکه ای که اجازه پرس و جو کردن از این سرور را داراست: مقدار ۱۹۲٫۱۶۸٫۲۰٫۰/۲۴

allow-query { localhost; 192.168.20.0/24};

۴-Zone مربوط به ترجمه آدرس(نام) به آی پی: Forward Zone

zone “domain.com” IN{

type master;

file “forward.domain”;

allow-update{none;};

};

domain.com: نام دامنه

forward.domain: نام فایل مربوط به Zone که در مسیر /var/named باید ایجاد شود.

۵- Zone مربوط به ترجمه آی پی به آدرس(نام): Reverse Zone

zone “۲۰٫۱۶۸٫۱۹۲٫in-addr.arpa” IN{

type master;

file “reverse.domain”;

allow-update{none;};

};

۲۰٫۱۶۸٫۱۹۲: آدرس شبکه

reverse.domain: نام فایل مربوط به Zone که در مسیر /var/named باید ایجاد شود.

بعد از پیکربندی فایل named.conf باید فایل های مربوط به Forward Zone و Reverse Zone را در مسیر مشخص شده ایجاد کنید ابتدا فایل مربوط به Forward Zone و سپس Reverse Zone را ایجاد و محتویات آنها را به طور خلاصه مورد بررسی قرار می دهیم.

Forward Zone:

فایل مربوط به این Zone را با بایدبا توجه به مقادیری که در فایل named.conf وارد کردید ایجاد کنید ما در این نوشته نام forward.domain را در دایرکتوری /var/named مشخص کردیم این فایل را ایجاد کرده و محتویات آن را به شکل زیر وارد کنید.

$TTL 86400

@ IN SOA dns.domain.com. root.domain.com(

۲۰۱۱۰۷۱۰۰۱ ;Serial

۳۶۰۰ ;Refresh

۱۸۰۰ ;Retry

۶۰۴۸۰۰ ;Expire

۹۴۸۰۰ ;Minimum TTL

)

@ IN NS dns.domain.com.

@ IN A 192.168.20.20

@ IN A 192.168.20.21

@ IN A 192.168.20.22

dns IN A 192.168.20.20

fs IN A 192.168.20.21

dhcp IN A 192.168.20.22

۱-نام سرور DNS: مقدار dns.domain.com

@ IN SOA dns.domain.com. root.domain.com

@ IN NS dns.domain.com.

۲-رکورد: نحوه ایجاد رکورد(آی پی:۱۹۲٫۱۶۸٫۲۰٫۲۰، آدرس dns)

@ IN A 192.168.20.20

dns IN A 192.168.20.20

Reverse Zone:

فایل مربوط به این Zone را با بایدبا توجه به مقادیری که در فایل named.conf وارد کردید ایجاد کنید ما در این نوشته نام reverse.domain را در دایرکتوری /var/named مشخص کردیم این فایل را ایجاد کرده و محتویات آن را به شکل زیر وارد کنید.

$TTL 86400

@ IN SOA dns.domain.com. root.domain.com(

۲۰۱۱۰۷۱۰۰۱ ;Serial

۳۶۰۰ ;Refresh

۱۸۰۰ ;Retry

۶۰۴۸۰۰ ;Expire

۹۴۸۰۰ ;Minimum TTL

)

@ IN NS dns.domain.com.

@ IN PTR domain.com.

dns IN A 192.168.20.20

fs IN A 192.168.20.21

dhcp IN A 192.168.20.22

۲۰ IN PTR dns.domain.com.

۲۱ IN PTR fs.domain.com.

۲۲ IN PTR dhcp.domain.com.

۱-نام سرور DNS: مقدار dns.domain.com

@ IN SOA dns.domain.com. root.domain.com

@ IN NS dns.domain.com.

۲-نام دامنه: مقدار domain.com

@ IN PTR domain.com.

۳-رکورد: نحوه ایجاد رکورد(آی پی: ۲۰ و ۱۹۲٫۱۶۸٫۲۰٫۲۰، آدرس dns و dns.domain.com)

dns IN A 192.168.20.20

۲۰ IN PTR dns.domain.com.

بعد از ایجاد فایل ها برای اجرای سرویس DNS دستور زیر را اجرا کنید.

[root@dns ~]# systemctl start named

برای اینکه سرویس DNS به هنگام راه اندازی مجدد به صورت خودکار اجرا شود دستور زیر را اجرا کنید.

[root@dns ~]# systemctl enable named

برای اینکه مطمین شوید فایل های پیکربندی مربوط به سرویس DNS (نصب سرویس dns در لینوکس ) به درستی مقدار دهی شده است دستورات زیر را به ترتیب اجرا کنید تا در صورت وجود مشکل برای شما نمایش داده شود.

[root@dns ~]# named-checkconf /etc/named.conf

[root@dns ~]# named-checkzone domain.com /var/named/forward.domain

zone domain.com/IN: loaded serial 2011071001

OK

[root@dns ~]# named-checkzone domain.com /var/named/reverse.domain

zone domain.com/IN: loaded serial 2011071001

OK

بعد از پیکربندی کامل سرویس DNS و اجرای آن نیاز است تا پورت ۵۳ در #فایروال باز شود برای این منظور دستورات زیر را به ترتیب اجرا کنید.

[root@dns ~]# firewall-cmd –zone=public –add-port=53/tcp –permanent

success

[root@dns ~]# firewall-cmd –zone=public –add-port=53/udp –permanent

success

[root@dns ~]# firewall-cmd –reload

success

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

[root@cl011 ~]# nslookup dhcp.domain.com

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: dhcp.domain.com

Address: 192.168.20.22

همان طور که در کد بالای نصب سرویس dns در لینوکس می بینید آی پی ۱۹۲٫۱۶۸٫۲۰٫۲۲ که مربوط به dhcp.domain.com می باشد توسط سرور DNS ترجمه شده است.

منبع: به نقل از سایت(rasalinux)-باز نشر گروه فناوری مشهد ای تی

ارسال پاسخ