اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش نصب و راه اندازی Bind DNS Server در CentOS 6

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش نصب و راه اندازی Bind DNS Server در CentOS 6

    همانطور که میدانید انواع مختلفی از راه حل های متن باز برای DNS ارایه شده است که از مهم ترین و کامل ترین آنها BIND میباشد از دیگر راه حل ها که خودم استفاده کرده ام میتوان به DNSMASQ اشاره کرد که خیلی سبک تر از بایند است اما کارایی های آن را ندارد و بیشتر از راه حل های میان رده محسوب میشود.

    در این موضوع میخواهیم به آموزش نحوه نصب و پیکره بندی BIND بپردازیم اگر هنوز مبتدی هستید به شما پیشنهاد میکنیم که ابتدا به آموزش نحوه تنظیم Hostname مراجعه نمایید.

    قبل از شروع به شما پیشنهاد میکنم که حداقل بر روی 2 سرور ابری سرویس DNS خود را راه اندازی کرده باشید ( اگرچه در صورتیکه تازه کار هستید و بیشتر علاقه مند به یادگیری باشید صرفا استفاده از سیستم local شما کفایت میکند ) همچنین باید همواره سرورهای اصلی و دوم را به صورت افزونه قرار داده تا در صورت خرابی یکی دومی کار کرده و سرویس شما متوقف نشود.


    همچنین توصیه میشود مطالعه بفرمایید.

    تنظیمات Bind DNS Server در لینوکس (اوبونتو - دبیان)

    نحوه نصب و راه اندازی میل سرور لینوکسی با Postfix و Dovecot

    معرفی انواع رکورد DNS (یا A - MX - PTR - SOA - SPF - NS - TXT - DKIM - CNAME)

    نحوه تعریف رکورد DKIM در سرور Bind


    توجه داشته باشید که سیستمی که ما میخواهیم روی آن این سرویس را اجرا نماییم بر پایه RedHat است و شامل RedHat ، CentOS و Fedora ( با کمی تغییر در برخی دستورات ) خواهد بود برای سیستم های مبتنی بر debian باید از مجموعه دستورات مختص به آن استفاده نمود هرچند مجموعه دستورات آن شبیه است اما در برخی موارد تفاوت دارد.

    استفاده از سرور های DNS خود باعث میشود که شما دسترسی مستقیم بر زیرساخت های هاستینگ خود داشته باشید و علاوه بر آن رکوردهای DNS خود را بتوانید کنترل نمایید
    همانند بسیاری از سرورهای جدید ابتدا باید از به روز بودن سرور خود مطمئن شوید برای این کار از دستور زیر استفاده میکنیم.
    کد PHP:
    yum update -

    پسوند –y برای بله گفتن به پرسش سیستم برای اطمینان از نصب پکیج های repository آورده شده است.


    همچنین توصیه میشود مطالعه بفرمایید.

    مقاله مدیریت پکیج ها در لینوکس با استفاده از yum


    ابتدا bind و bind-utils را با دستور زیر نصب میکنیم :
    کد PHP:
    yum install bind bind-utils -
    حال فایل مربوط به تنظیمات آن را باز کرده و تغییرات زیر را در آن اعمال میکنیم توجه داشته باشید که تمام سرویس های لینوکس دارای یک فایل تنظیمات هستند که به وسیله یک text editor میتوانیم انها را باز کرده و تنظیمات خود را در آنها اعمال نماییم. ما در اینجا از نرم افزار ویرایش متن nano استفاده میکنیم چنانچه سرور شما این ویرایشگر را ندارد میتوانید از ویرایشگر vi یا vim استفاده نمایید و یا با دستور زیر این ویرایشگر را نصب کنید :
    کد PHP:
    Yum install nano 
    حال با ویرایشگر متن خود فایل configuration سرویس named که همان bind میباشد را باز کرده و تغییرات میدهیم :
    کد PHP:
    nano -/etc/named.conf 
    تغییرات مورد نظر را اعمال میکنیم به جای 2.2.2.2 آدرس IP سرور ثانویه خود را قرار میدهیم در داخل متن سعی میکنیم در مورد مواردی که تغییر میکنند و نحوه عمکرد آن توضیحات مختصری را بدهیم :
    کد PHP:
    options
    {        #listen-on port 53 { 127.0.0.1; };  
          
    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 any; };        allow-transfer     localhost2.2.2.2; };        
    recursion no;        
    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";
    }; 
    حالا در فایل بالا بخش listen on را باید کامنت کنیم تا به تمام interface های موجود گوش کند.

    قسمت recursion را برای مبارزه با حملات DDoS موسوم به reflection غیر فعال نموده ایم.

    با تنظیمات بالا حالا شما آماده اید تا zone خود را به zone های موجود در DNS اضافه نمایید برای این کار متن زیر را به فایل named.conf خود اضافه نمایید.
    کد PHP:
    zone "mydomain.com" IN {          
     
    type master;            
     
    file "mydomain.com.zone";            
    allow-update none; };        }; 
    حال باید فایل را save کرده و از آن خارج شوید. بعد از این کار باید فایل های zone خود را در سرور ایجاد نمایید. با توجه به تغییراتی که در فایل configuration بالا ایجاد نموده این باید اسم فایل zone شما به صورت mydomain.com.zone باشد چنانچه بیش از یک فایل داشته باشید این روش نام گذاری باعث میشود بعدها که سیستم شما شلوغ شد راحت فایل های خود را پیدا نمایید. ایحاد یا تغییر در فایل را نیز میتوانید با همان text editor معروف nano انجام دهید. دستور زیر این کار را برای شما انجام خواهد داد :
    کد PHP:
    nano -/var/named/mydomain.com.zone 
    حالا باید مقادیر زیر را در فایلی که ساخته اید اضافه نمایید توجه داشته باشید که سناریوی ما به صورتی است که شما دارای 2 سرور به صورت primary و secondry میباشید و آدرسهای IP را به صورت زیر میتوانید با IP های خود عوض نمایید.

    1.1.1.1 آدرس ip اولین سرور 2.2.2.2 آدرس ip دومین سرور 3.3.3.3 آدرس ip جایی که دامنه خود را به آن وصل مینمایید مانند وب سرور یا هر چیز دیگر اما در دنیای واقعی که اکثر سرور ها 2 یا حداکثر 3 آدرس IP دارند بهتر است یکی از این IP ها را برای وب سرور قرار داده و برای سایر موارد از IP دیگری استفاده شود.
    کد PHP:
    $TTL 86400
    @   IN  SOA     ns1.mydomain.comroot.mydomain.com. (        2013042201  ;
    Serial        3600      
      
    ;Refresh        1800      
     
    ;Retry        604800      
    ;Expire        86400       ;Minimum TTL);
     
    Specify our two nameservers        IN    NS        ns1.mydomain.com.        IN    NS        ns2.mydomain.com.; Resolve nameserver hostnames to IPreplace with your two droplet IP addresses.ns1        IN    A        1.1.1.1ns2        IN    A        2.2.2.2
    Define hostname -> IP pairs which you wish to resolve@        IN    A        3.3.3.3www        IN    A        3.3.3.3 
    حال فایل را ذخیره کرده و سرویس DNS را یک بار restart میکنیم وقتی که این سرویس برای اولین بار اجرا میشود از آنجایی که باید فایل rndc.key خود را ساخته و راه اندازی نماید ممکن است سرعت پایین تری داشته باشد اما بعد از اینکه برای اولین بار این اتفاق افتاد در موارد بعدی این تغییر سرعت را نخواهیم داشت.
    کد PHP:
    service named restart

    ##OR you can say :

    systemctl restart named 
    کارهای بعد از نصب : یکی از مواردی که مدیر یک سیستم باید آنها را به خوبی بداند و به آنها مسلط باشد امور بعد از نصب است این موارد در بسیاری از اوقات باعث میشود که سیستم روال خود را بعد از restartحفظ کند و بعدها دچار مشکل نشود از جمله این کارها اضافه کردن سرویس به جمع سرویس هایی است که در لیست سرویس های همیشه آماده به کار در کرنل سیستم قرار میگیرند برای این کار از دستور زیر استفاده میکنیم :
    کد PHP:
    chconfig named on 
    همچنین میتوانیم از دستور systemctl enable named نیز استفاده نماییم تبریک میگم شما توانستید که یک سرویس DNS را با موفقیت راه اندازی نمایید برای اطمینان از درست کار کردن سرویس خود بر روی سرور میتوانید از دستور زیر استفاده نمایید با این کار سیستم باید IP شما را به درستی resolve نماید.
    کد PHP:
    dig @1.1.1.1 mydomain.com 
    برای داشتن کل متن آموزش به صورت pdf میتوانید فایل کل آموزش را از اینجا دانلود نمایید.
    فایل های پیوست شده
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 11-01-2021, 02:06 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X