نصب و راه اندازی Bind روی CentOS 6.3

نرم افزار Bind یک سرویس دهنده DNS رایگان است که توسط ISC پشتیبانی می‌شود.(البته نسخه غیر رایگان هم دارد.)

این برنامه را با دستور رو برو نصب میکنیم:

yum install bind bind-utils -y

کانفیگ پیشفرش Bind هیچ چیزی جز دردسر نیست، محتوای فایل کانفیگ را با متن زیر جایگزین کنید:

nano /etc/named.conf


//
// 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 { any; };
        listen-on-v6 port 53 { any; };
        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; };
        recursion yes;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};


راه اندازی برنامه Bind را خودکار کرده و آن را فعال می کنیم:

chkconfig named on

service named start

سرویس Bind بعد از تولید کلید یکتاش فعال میشود. حال بسته به وظیفه ای که برای این سرور در نظر گرفته این باید کانفیگ مورد نظر را انجام بدهیم. از اینجا به بعد را اگر با برنامه Webmin که یک برنامه بسیار کاربردی برای کانفیگ سرویس های لینوکس از طریق وب میباشد را پیش ببرید، کار بسیار راحت تری در پیش رو دارید.


برای ساختن Zone ها دو آپشن وجود دارد، یکی به عنوان Master که هنگامی استفاده میشود که این سرور به عنوان سرویس دهنده اصلی DNS در شبکه به حساب می آید و دامنه های جدید در این سرور به صورت دستی ثبت میشوند و دوم به صورت Slave.

برای کانفیگ سرور Master بدین نحو عمل می کنیم. فایل کانفیگ را باز کرده و خطوط زیر را به انتهای فایل اضافه میکنیم:

nano /etc/named.conf

zone "domain.ir" {

type master;

file "/var/named/domain.ir.hosts";

};

و فایل حاوی رکورد های DNS را با داده های زیر ایجاد میکنیم:

nano /var/named/domain.ir.hosts

$ttl 38400

server.ibs. IN SOA ns.domain.ir. email.domain.ir. (

1380123466

10800

3600

604800

38400 )

domain.ir IN NS ns.domain.ir.

domain.ir. IN A 192.168.1.1


برای دانستن انواع رکورد های DNS پیشنهاد می شود کتاب pro DNS and BIND 10 را مطالعه کنید.

حال برای این سرور یک سرور جایگزین ایجاد میکنیم تا در صورت در دسترس نبودن سرور اول، عمل کند. برای این که این بروز رسانی رکورد ها خودکار باشد و در صورت تغییر رکوردی در سرور اصلی، این رکورد در سرور جایگزین هم تغییر کند بدین صورت عمل میکنیم:

در فایل کانفیگ Bind  در سرور اصلی این خطوط را در قسمت Options اضافه میکنیم:

nano /etc/named.conf

allow-transfer {

192.168.1.2;   #Slave server IP

};

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

rndc reload


و در فایل کانفیگ Bind سرور جایگزین این خطوط را به انتهای فایل اضافه میکنیم:

nano /etc/named.conf

zone "domain.ir" {

type slave;

masters {

192.168.1.1;

};

file "/var/named/slaves/domain.ir.hosts";

notify no;

};

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

rndc reload

حال برای این که مطمئن شویم که انتقال رکورد ها انجام شده است، با دستور روبرو وجود فایل "/var/named/slaves/domain.ir.hosts" را چک می‌کنیم. در صورت وجود فایل، انتقال موفقیت آمیز بوده است.
ls /var/named/slaves/


پ.ن:

حتما پورت 53 را در پروتکل UDP و TCP باز کنید. به اینجا مراجعه کنید.