سرور ساعتی ایران و خارج + تست رایگان

نصب Bind در سرور های لینوکسی

در مرکز محتوای سرور دات آی آر

 

گاهی اوقات ممکن است کاربرانی از کنترل پنل استفاده نکنند و در سرور های لینوکسی خود نیاز به DNS server داشته باشند. در این مواقع اصولا با سختی های زیادی مواجه هستند. اول از همه عدم وجود UI در فضای لینوکسی گاهی برای کاربران سخت جلوه می کند و ارتباط چندانی با سرور برقرار نمی کند و دوم این در تنظیم نیم سرور ها می بایست از تمامی جوانب کانفیگ انجام شود تا ارتباط سرور و دامنه برقرار شود. در مقالات پیشین در خصوص Bind در سرور های ویندوزی صحبت کرده ایم. در این مقاله در خصوص نصب Bind در سرور های لینوکسی صحبت خواهیم کرد.

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

دامنه:

domain.com

 نیم سرور اول:

ns1.domain.com

نیم سرور دوم:

ns2.domain.com

برای این که بتوانید ارتباط بین سرور و دامنه را برقرار کنیم، اول از همه Bind را نصب می کنیم. برای انجام این مورد نیز از کامند زیر استفاده نمایید:

yum install bind bind-utils -y

پس از نصب Bind می توانید برای کانفیگ آن اقدام نمایید. در اولین اقدام می بایست  /etc/named.conf را بررسی و ویرایش نمایید:

vi /etc/named.conf

پس ورود به این بخش با کد هایی همانند زیر مواجه می شوید:

Linux bind

در این بخش می بایست اطلاعات را به شکل زیر وارد نمایید و قسمت های زیر را ویرایش نمایید:

listen-on port 53

allow-query

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

zone “ns1.domain.com” {type master;file “/var/named/ns1.domain.com.db”;};
zone “ns2.domain.com” {type master;file “/var/named/ns2.domain.com.db”;};

که به صورت کلی کامند های این بخش به شکل زیر می شود:

//
// 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.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        listen-on port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        /*
         - 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 no;

        dnssec-enable yes;
        dnssec-validation yes;

        /* 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 "ns1.domain.com" {type master;file "/var/named/ns1.domain.com.db";};
zone "ns2.domain.com" {type master;file "/var/named/ns2.domain.com.db";};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

پس از کانفیگ این بخش  آن را save می کنیم. حال می بایست zone ها را به صورت جداگانه برای هر نیم سرور ایجاد کنیم. برای این کامند های هر کدام از نیم سرور ها را به صورت جداگانه در مقاله برای شما قرار می دهیم. برای نیم سرور ns1.domain.com ابتدا فولدر ns1.domain.com.db را ایجاد می کنیم (که داخل آن خالی می باشد) و کامند ها را وارد می کنیم.برای ایجاد آن نیز از کامند زیر استفاده نمایید:

vi /var/named/ns1.domain.com.db

در نظر داشته باشید که به جای IP در کامند ها IP خود را وارد نمایید. برای انجام این مورد کامند های زیر را بررسی نمایید:

; Zone file for ns1.domain.com
$TTL 14400
@     IN      SOA      ns1.domain.com.      root.domain.com.      (
                                2013071600 ;serial, todays date+todays
                                86400 ;refresh, seconds
                                7200 ;retry, seconds
                                3600000 ;expire, seconds
                                86400 ;minimum, seconds
      )
@  IN NS ns1.domain.com.
@  IN NS ns2.domain.com.
@  IN A IP
@       IN  NS          ns1.domain.com.
@       IN  NS          ns2.domain.com.
@       IN  A           IP
@       IN  A           IP
@       IN  A           IP
ns1       IN  A   IP
ns2    IN  A   IP
client          IN  A   IP

پس از  کانفیگ نیم سرور اول، حال می بایست نیم سرور دوم را ایجاد نمایید. مانند مراحل نیم سرور اول، ابتدا فولدر ns2.domain.com.db را ایجاد نمایید و برای این کار نیز از کامند زیر استفاده نمایید:

vi /var/named/ns2.domain.com.db

پس از انجام این مورد حال کامند های زیر را وارد می کنیم و در بخش IP نیز مجدد آیپی خود را وارد نمایید:

; Panel %version%
; Zone file for ns2.domain.com
$TTL 14400
@      SOA      ns1.domain.com.      root.domain.com.      (
                                2013071600 ;serial, todays date+todays
                                86400 ;refresh, seconds
                                7200 ;retry, seconds
                                3600000 ;expire, seconds
                                86400 ;minimum, seconds
      )
@ IN NS ns1.domain.com.
@ IN NS ns2.domain.com.
@ IN A IP
@       IN  NS          ns1.domain.com.
@       IN  NS          ns2.domain.com.
@       IN  A           IP
@       IN  A           IP
@       IN  A           IP
ns1       IN  A   IP
ns2    IN  A   IP
client          IN  A   IP

پس از انجام تمامی این موارد می توانید سرویس های زیر را فعال نمایید:

systemctl enable named
systemctl start named

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

chgrp named -R /var/named
chown -v root:named /etc/named.conf
restorecon -rv /var/named
restorecon /etc/named.conf

در این مرحله می بایست وارد آدرس زیر شوید:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

یکی از نتورک ها را باز می کنید و DNS را با نام آیپی خود به این بخش اضافه نمایید. به صورت زیر:

DNS=IP

در نهایت می بایست که وارد بخش  vi /etc/resolv.conf شوید و name server را به آیپی خود تغییر دهید.

حال تمامی مراحل Bind به درستی انجام شده است و در صورتی که از نیم سرور ها پینگ بگیرید به سرور شما resolve می شود.

امیدواریم این مقاله برای شما عزیزان مفید واقع شده باشد. ما را در بخش مقالات دنبال کنید.

اشتراک گذاری در linkedin

به تیم متخصص ما اعتماد کنید!

تخفیف مخاطبین مرکز محتوا: Blog01

از کد Blog01 می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!

محتوای مقاله مفید بود؟

0 0 رای ها
این مقاله چطور بود؟
اشتراک در
اطلاع از
0 دیدگاه
بازخوردهای آنلاین
مشاهده همه دیدگاه ها

به تیم متخصص ما اعتماد کنید!

تخفیف مخاطبین مرکز محتوا: Blog01

از کد Blog01 می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!