bind چیست ؟ + آموزش تنظیمات و نصب Bind DNS Server در لینوکس centos

camb

کاربر انجمن پارسه دو
کاربر انجمن پارسه
سرویس (DNS (Domain Name System معمولا سخت‌ترین کامپوننت در زمان فراگیری پروسه راه اندازی وبسایت‌ها و سرور‌ها است. اکثر افراد ترجیح می‌دهند از DNS server ارائه شده توسط شرکت هاستینگ یا ریجیسترار دامین استفاده کنند. اما در این بین افرادی نیز هستند که از DNS server شخصی خود استفاده می‌کنند. برای این منظور باید نحوه راه اندازی و نصب Bind DNS Server (نصب دی ان اس بایند) را بدانید. از این رو در ادامه مقاله bind چیست و نحوه راه‌اندازی و کانفیگ یک authoritative-only DNS server در یک سرور centos 7 با استفاده از bind dns server توضیح خواهیم داد.

bind چیست ؟


در پاسخ به بایند چیست بایستی گفت bind مخفف عبارت The Berkeley Internet Name Domain می باشد و به عنوان یک سرویس DNS در لینوکس است از پرطرفدارترین Domain name service ها می باشد، حال که با این مفهم آشنا شدید در امتداد مقاله به بررسی نحوه نصب Bind و تنظیمات آن می پردازیم.

محیط تست:

Domain: iranhost.com

IP: 192.168.0.1

OS: centos 7

** لطفا مد نظر داشته باشید که این مقادیر تنها برای محیط تست dns است و برای اعمال در سرور خود حتما آن‌ها را به مقادیر مورد نیاز خود، تغییر دهید به شما پیشنهاد می کنیم برای کسب اطلاعات در حوزه DNS چیست مقاله ما را مطالعه نمایید.

Authoritative-only DNS server چیست؟


قبل از راه اندازی dns server ابتدا نیاز است با ماهیت Authoritative-only DNS server، آشنا شوید. در سناریو‌های لوکالی معمولا از forward و caching برای DNS سرورها استفاده می‌شود. این نوع کانفیگ با توجه به ترافیک بالایی که ایجاد می‌کند برای راه‌اندازی DNS سرور یک وبسایت مناسب نیست. در این شرایط از Authoritative-only DNS server استفاده می‌شود. این نوع کانفیگ به شکلی است که DNS server را تنها موظف به پاسخگویی به درخواست‌هایی می‌کند که zone آن دامین ها را در اختیار دارد. در این مورد خاص، DNS شما تنها به درخواست‌هایی پاسخ می‌دهد که برای وبسایت شما آمده باشند. به این شکل هیچ بار اضافه‌ای به سرور وارد نمی‌شود و به بهترین شکل ممکن پاسخگوی query های DNS مرتبط با وبسایت شما، خواهد بود.





نصب bind


برای نصب کردن bind dns server دستور زیر را وارد می‌کنیم

yum -y install bind bind-utils

کانفیگ اولیه DNS


کانفیگ اصلی bind در فایل /etc/named.conf قرار دارد. با ادیتور مد نظر خود، فایل را باز کنید.

vi /etc/named.conf

از آنجا که سرور ما پاسخگوی درخواست‌های مربوط به یک وبسایت است، باید بتواند از تمامی ipها درخواست را دریافت کرده و پاسخ دهد. پس با کامنت کردن خطوط مربوط به listening این مورد را فراهم می‌کنیم:

// listen-on port 53 { 127.0.0.1; };

// listen-on-v6 port 53 { ::1; };

همچنین allow-query را روی any ست می‌کنیم:

allow-query { any; };



یکی از نکات مهم در مورد AUTHORITATIVE DNS server ها این است که قابلیت recursion باید در آن ها غیرفعال شود. در صورت فعال بودن این قابلیت، DNS server خود را موظف به یافتن پاسخ برای تمامی درخواست‌ها می‌داند، حتی اگر zone مربوطه در آن وجود نداشته باشد. در صورت فعال بودن بار کاری نا خواسته‌ای به سرور تحمیل کرده، و می‌تواند هدفی برای مهاجمین نیز باشد. پس این تنظیم را انجام می‌دهیم:

recursion no;

و نهایتا تغییرات را ذخیره می‌کنیم.



ساخت zone


مجدد فایل /etc/named.conf را باز می‌کنیم:

vi /etc/named.conf

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

zone "iranhost.com" IN {

type master;

file "fwd.iranhost.com.db";

allow-update { none; };

};

برای reverse zone نیز خطوط زیر را در فایل، قرار دهید:

zone "0.168.192.in-addr.arpa" IN {

type master;

file "/var/named/192.168.0.db";

allow-update { none; };

};

و نهایتا فایل را ذخیره می‌کنیم.

ساختن zone file


به صورت پیش فرض فایل مربوط به zoneها در مسیر /var/named قرار دارند. برای ساخت forward lookup zone یک فایل به نام fwd.iranhost.com.db در مسیر یاد شده ایجاد می‌کنیم:

Vi /var/named/fwd.iranhost.com.db

و سپس محتوای زیر را در آن، قرار می‌دهیم:

@ IN SOA ns1.iranhost.com. info.iranhost.com. (

۵ ; Serial

۶۰۴۸۰۰ ; Refresh

۸۶۴۰۰ ; Retry

۲۴۱۹۲۰۰ ; Expire

۶۰۴۸۰۰ ) ; Negative Cache TTL

; name servers - NS records

iranhost.com. IN NS ns1.iranhost.com.

iranhost.com. IN NS ns2.iranhost.com.

; name servers - A records

ns1 IN A ۱۹۲.۱۶۸.۰.۱

ns2 IN A ۱۹۲.۱۶۸.۰.۱

; Other A records

@ IN A ۱۹۲.۱۶۸.۰.۱

www IN A ۱۹۲.۱۶۸.۰.۱

mail IN A ۱۹۲.۱۶۸.۰.۱

  • نکته: هر بار که فایل را آپدیت کردید، مقدار serial را تغییر دهید. به عنوان مثال از ۵ به ۶.

برای reverse zone نیز یک فایل به نام ۱۹۲.۱۶۸.۰.db ایجاد می‌کنیم:



vi /var/named/192.168.0.db

و خطوط زیر را در آن قرار می‌دهیم:

$TTL ۶۰۴۸۰۰

@ IN SOA iranhost.com. info.iranhost.com. (

۵ ; Serial

۶۰۴۸۰۰ ; Refresh

۸۶۴۰۰ ; Retry

۲۴۱۹۲۰۰ ; Expire

۶۰۴۸۰۰ ) ; Negative Cache TTL

;

; Name servers

IN NS ns1.iranhost.com.

IN NS ns2.iranhost.com.

; PTR records

۱ IN PTR ns1.iranhost.com.

۲ IN PTR ns2.iranhost.com.

۳ IN PTR mail.iranhost.com.

پس از اینکه زون فایل‌ها ایجاد شدند، سرویس bind را ری استارت می‌کنیم.

systemctl restart named

و آن را برای راه‌اندازی، در زمان بالا آمدن سیستم عامل فعال می‌کنیم.

systemctl enable named

تنظیمات dns server – firewall


با دستور زیر پورت ۵۳ یا سرویس dns را در فایروال باز می‌کنیم:



firewall-cmd –permanent –zone=public --add-port=53/udp

یا

firewall-cmd –permanent –zone=public --add-service=dns

و سپس سرویس را reload می‌کنیم

firewall-cmd --reload



  • توضیحات برای firewalld داده شده است. در صورتیکه از سرویس دیگری استفاده می‌کنید، بر اساس همان عمل کنید.

هم اکنون DNS server ما آماده است و برای اطمینان از کارکرد، می‌توانید از دستورات dig و nslookup برای تست کارکرد آن استفاده کنید.امیدواریم با خواندن این مقاله با مفهوم bind چیست و نحوه نصب و تنظیمات Bind DNS Server در لینوکس را آموخته باشید.

سوالات متداول

bind چیست ؟
bind مخفف عبارت The Berkeley Internet Name Domain می باشد و به عنوان یک سرویس DNS در لینوکس است از پرطرفدارترین Domain name service ها می باشد
Authoritative-only DNS server چیست؟
قبل از راه اندازی dns server ابتدا نیاز است با ماهیت Authoritative-only DNS server، آشنا شوید. در سناریو‌های لوکالی معمولا از forward و caching برای DNS سرورها استفاده می‌شود. این نوع کانفیگ با توجه به ترافیک بالایی که ایجاد می‌کند برای راه‌اندازی DNS سرور یک وبسایت مناسب نیست. در این شرایط از Authoritative-only DNS server استفاده می‌شود. این نوع کانفیگ به شکلی است که DNS server را تنها موظف به پاسخگویی به درخواست‌هایی می‌کند که zone آن دامین ها را در اختیار دارد. در این مورد خاص، DNS شما تنها به درخواست‌هایی پاسخ می‌دهد که برای وبسایت شما آمده باشند.

نوشته bind چیست ؟ + آموزش تنظیمات و نصب Bind DNS Server در لینوکس centos اولین بار در بلاگ ایران هاست. پدیدار شد.

ادامه مطلب...
 
عقب
بالا