نام BIND مخفف عبارت Berekley Internet Name Domain می باشد. ما در این آموزش قصد نداریم مفاهیم ابتدایی سرور دی ان اس را توضیح دهیم اما در یک جمله باید بگوئیم که کار سرور DNS شناساندن نام دامنه بعنوان مثال example.com به آدرس آی پی ست و در صورت فقدان چنین سرویسی شما باید هر آدرس اینترنتی را بدون نام و با وارد کردن آدرس آی پی فرا بخوانید. این سرویس در CentOS با نام named شناخته می شود.
ما در این آموزش قصد داریم به شما بگوئیم که چگونه در سنت او اس بتوانید سرویس BIND یا named را نصب و برای استفاده کانفیگ و همچنین با ابزارهایی مانند dig تست بفرمائید.
آموزش نصب BIND
از آنجایی که این سرویس در مخازن رسمی سرورهای لینوکسی یافت میشود به راحتی و با یک دستور قابل نصب است. در ابتدا مانند همیشه ماشین خود را به روز کرده و سپس سرویس BIND را نصب نمائید:
1 2 |
[root@arshatech ~]# yum -y update [root@arshatech ~]# yum -y install bind bind-utils |
بعد از نصب نسخه آن را بررسی میکنیم:
1 |
[root@arshatech ~]# named -v |
1 |
BIND 9.11.4-P2-RedHat-9.11.4-9.P2.el7 (Extended Support Version) <id:7107deb> |
کانفیگ BIND 9
در مرحله بعد به سراغ تنظیمات این سرویس میرویم که در فایل زیر در دسترس می باشند:
- etc/named.conf/
کافیست با یک ویرایشگر متن آن را باز کرده، محتویات آن را پاک کنید و عبارات زیر را در آن کپی نمائید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
options { listen-on port 53 { 127.0.0.1; 198.168.1.100; }; 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 { localhost; }; 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"; }; zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; }; |
در نظر داشته باشید که حتما باید به جای آدرس آی پی ۱۹۸٫۱۶۸٫۱٫۱۰۰ آدرس آی پی سرور خود و به جای example.com نام دامنه خود را وارد کنید.
فایل example.com.zone فایلیست که تنظیمات zone را در آن قرار میدهیم. هر zone یا ناحیه اطلاعات مربوط به یک دامنه یا ساب دامنه را در خود جای میدهد و یک فایل متنی ساده می باشد.
به طور مثال و خیلی ساده اگر بخواهیم عنوان کنیم هر دامنه به نام example.com در یک فایل ساده تحت عنوان example.com.zone و در دایرکتوری مشخص var/named/ ساخته میشود.
حال در ادامه ما میخواهیم یک zone برای دامنه خود ایجاد کنیم. برای این کار ابتدا با یک ویرایشگر متن فایل مورد نظر را می سازیم:
1 |
[root@arshatech ~]# vim /var/named/example.com.zone |
و محتویات آن را به صورت زیر تعریف میکنیم. شما باید محتویات فایل های خود را با توجه به نام دامنه و آدرس آی پی به صورت اختصاصی تغییر دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$TTL 86400 @ IN SOA ns1.example.com. root.example.com. ( 2013042201 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS ns1.example.com. @ IN NS ns2.example.com. @ IN A 198.168.1.100 ns1 IN A 198.168.1.100 ns2 IN A 198.168.1.100 @ IN MX 10 mail.example.com. mail IN A 198.168.1.100 WWW IN A 198.168.1.100 |
حال سرویس named را ری استارت میکنیم:
1 |
[root@arshatech ~]# service named restart |
و در نهایت تغییرات را با دستور ریر تست میکنیم:
1 |
[root@arshatech ~]# dig @198.168.1.100 example.com any |