میزبانی وب

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

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

فهرست این مقاله ( با کلیک روی هر عنوان به آن قسمت منتقل می شوید) پنهان

bind چیست ؟

در پاسخ به بایند چیست بایستی گفت به عنوان یک سرویس DNS در لینوکس است و از پرطرفدارترین Domain name service ها است.

bind مخفف چیست؟ بایند مخفف عبارت The Berkeley Internet Name Domain می باشد.

حال که با این مفهوم بایند آشنا شدید در امتداد مقاله به بررسی نحوه نصب Bind و تنظیمات آن می پردازیم.

ایجاد محیط تست برای نصب bind dns server:

Domain: iranhost.com
IP: 192.168.0.1
OS: centos 7

** لطفا مد نظر داشته باشید که این مقادیر تنها برای محیط تست 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 مرتبط با وبسایت شما، خواهد بود.

 

dns گوگل چیست؟ روش تغییر dns گوگل در ویندوز را در مقالات دیگر ایران هاست بخوانید.

 

 

نصب bind dns server

برای نصب کردن bind dns server  و راه اندازی 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. ( 5 ;
Serial 604800     ;
Refresh 86400     ;
Retry 2419200     ;
Expire 604800 )   ;
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. ( 5         ;
Serial 604800         ;
Refresh 86400         ;
Retry 2419200         ;
Expire 604800 )       ;
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

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

سیاوش غلامی

مدیر سرور ایران هاست - کارشناس ICT

‫۵ دیدگاه ها

  1. سلام .. من یک دامین از nic.ir ثبت کردم . و در قسمت دی ان اس شرکت ای پی استاتیک خودم که اینترنت دارم رو روش ست کردم با دی ان اس ای که خودم تو خونه راه اندازی گردم بهش دادم . الان میخوام وقتی از اینترنت اسم سایت رو میزنم با دی ان اس داخل خونه جواب بدم که سایتم کجا هست . ای پی من ۴۶.۱۰۰.۸۵.۵۸ هست با ns1.anahost.ir این دی ان اس داخل شبکه داخلی هست با ای پی ۱۹۲.۱۶۸.۱.۱۰ و سایتم تو سیستمی هست با ای پی ۱۹۲.۱۶۸.۱.۶ . پورت ۵۳ رو فوروارد کردم با ای پی دی ان اس و فایروال دی ان اس رو هم به پورت ۵۳ باز کردم . الان مشکلم این هست که از اینترنت که nslookup میزنم دی ان اس رو نشون نمیده . یعنی به سایتم وصل نمیشه. فکر میکنید مشکلم از چی میتونه باشه .

دیدگاهتان را بنویسید

نوشته های مشابه

دکمه بازگشت به بالا