سرویس (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 دستور زیر را وارد میکنیم
کانفیگ اولیه DNS
کانفیگ اصلی bind در فایل /etc/named.conf قرار دارد. با ادیتور مد نظر خود، فایل را باز کنید.
از آنجا که سرور ما پاسخگوی درخواستهای مربوط به یک وبسایت است، باید بتواند از تمامی ipها درخواست را دریافت کرده و پاسخ دهد. پس با کامنت کردن خطوط مربوط به listening این مورد را فراهم میکنیم:
همچنین allow-query را روی any ست میکنیم:
یکی از نکات مهم در مورد AUTHORITATIVE DNS server ها این است که قابلیت recursion باید در آن ها غیرفعال شود. در صورت فعال بودن این قابلیت، DNS server خود را موظف به یافتن پاسخ برای تمامی درخواستها میداند، حتی اگر zone مربوطه در آن وجود نداشته باشد. در صورت فعال بودن بار کاری نا خواستهای به سرور تحمیل کرده، و میتواند هدفی برای مهاجمین نیز باشد. پس این تنظیم را انجام میدهیم:
و نهایتا تغییرات را ذخیره میکنیم.
ساخت zone
مجدد فایل /etc/named.conf را باز میکنیم:
برای forward zone خطوط زیر را به فایل اضافه کنید:
برای reverse zone نیز خطوط زیر را در فایل، قرار دهید:
و نهایتا فایل را ذخیره میکنیم.
ساختن zone file
به صورت پیش فرض فایل مربوط به zoneها در مسیر /var/named قرار دارند. برای ساخت forward lookup zone یک فایل به نام fwd.iranhost.com.db در مسیر یاد شده ایجاد میکنیم:
و سپس محتوای زیر را در آن، قرار میدهیم:
برای reverse zone نیز یک فایل به نام ۱۹۲.۱۶۸.۰.db ایجاد میکنیم:
و خطوط زیر را در آن قرار میدهیم:
پس از اینکه زون فایلها ایجاد شدند، سرویس bind را ری استارت میکنیم.
و آن را برای راهاندازی، در زمان بالا آمدن سیستم عامل فعال میکنیم.
تنظیمات dns server – firewall
با دستور زیر پورت ۵۳ یا سرویس dns را در فایروال باز میکنیم:
یا
و سپس سرویس را reload میکنیم
هم اکنون 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 اولین بار در بلاگ ایران هاست. پدیدار شد.
ادامه مطلب...
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 اولین بار در بلاگ ایران هاست. پدیدار شد.
ادامه مطلب...