منبع اصلی نوشتار زیر در این لینک قرار دارد

نصب و راه اندازی DNS

نوشته شده توسط تایماز اسمعلی.

DNS سرنام Domain Name System سرویسی است که وظیفه ترجمه نام یا آدرس اینترنتی را به آی پی دارد برای مثال هنگامی که شما آدرس google.com را در مرورگر خود مورد پیمایش قرار می دهید این آدرس به آدرس آی پی ۱۷۳٫۱۹۴٫۴۵٫۳۶ توسط سرور 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 "20.168.192.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 "20.168.192.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(

2011071001    ;Serial

3600   ;Refresh

1800   ;Retry

604800 ;Expire

94800  ;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(

2011071001    ;Serial

3600   ;Refresh

1800   ;Retry

604800 ;Expire

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

20     IN     PTR    dns.domain.com.

21     IN     PTR    fs.domain.com.

22     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

20     IN     PTR    dns.domain.com.

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

[root@dns ~]# systemctl start named

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

[root@dns ~]# systemctl enable named

برای اینکه مطمین شوید فایل های پیکربندی مربوط به سرویس 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

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

نوشته نصب و راه اندازی DNS اولین بار در لینوکس سیزن پدیدار شد.



برچسب ها : , , ,

به سیاره لینوکس امتیاز دهید

به اين صفحه امتياز دهيد