بطور ساده سیستم نام دامنه (DNS) یک سیستم نامگذاری توزیع سلسله مراتبی برای رایانه ها، سرویس ها یا هر منبعی است که به اینترنت یا شبکه خصوصی وصل شده است که اطلاعات دامنه های مختلف اختصاص داده شده به هر وب سایت و شرکت را هندل میکند . مهمتر از همه، آن را به بصورت نام دامنه معنی دار و قابل فهم برای انسان و شناسه عددی مرتبط با تجهیزات شبکه به منظور قرار دادن و آدرس دادن این دستگاه ها در سراسر جهان ترجمه می کند. در واقع dns سرور کار اتصال دامنه به یک سرور را انجام میدهد در این پست با نصب و راه اندازی یک dns server روی لینوکس در توزیع centos نسخه 7 آشنا خواهیم شد.
فرضیه ها
فرض میکنیم یک سرور داریم با آیپی 192.168.12.8 و یک دامنه نیز داریم بنام nginxweb.ir
خوب شروع میکنیم
بسته BIND را نصب کنید
BIND مخفف Berkeley Internet Name Domain میباشد که نرم افزاری است که توانایی تبدیل نام دامنه به آیپی را فراهم میکند که با دستور زیر نصب می نماییم:
yum -y install bind bind-utils
پیکربندی و کانفیگ BIND
فایل کانفیگ مربوط به سرویس bind در مسیر /etc/named.conf است، فایل /etc/named.conf را باز کنید
دو خط زیر را بیاید در در حالت comment قرار دهید:
#listen-on port 53 { 127.0.0.1; }; #listen-on-v6 port 53 { ::1; };
خوب شبکه خود را در خط زیر اضافه کنید. من 192.168.12.0/24 را اضافه کرده ام، و این به مشتریان اجازه می دهد از شبکه ذکر شده می توانند از DNS برای ترجمه نام به IP استفاده کنند
allow-query { localhost;192.168.12.0/24; };
اگر می خواهید تمام zone ها را به سرور برده (192.168.12.6) انتقال دهید، خط زیر را اضافه کنید (اختیاری)
allow-transfer { 192.168.12.6; };
ساخت فایل های Zone
خوب یک زیر ما یک zone مختص دامنه nginxweb.ir نوشته ایم که در فایل named.conf اضافه میشود
zone "nginxweb.ir" IN { type master; file "fwd.nginxweb.ir.db"; allow-update { none; }; };
مثال زیر نیز ورودی معکوس در فایل named.conf زیر است. که reverse zone گفته میشود
zone "12.168.192.in-addr.arpa" IN { type master; file "12.168.192.db"; allow-update { none; }; };
در مثال بالا:
12.168.192.in-addr.arpa – نام مراجعه معکوس
Master نمایانگر dns اولیه میباشد
12.168.192.db – فایل مراجعه معکوس یا همان reverse lookup میباشد
allow-update – از آنجا که این DNS اصلی است، باید آن را نداشته باشد که برای همین ما آن را در حالت none قرار داده ایم
ایجاد و ساخت zone فایل ها
اکنون زمان ایجاد فایل lookup برای یک zone ایجاد شده است. به طور پیش فرض، فایل های lookup در zone در پوشه / var / named قرار می گیرند
یک فایل zone به نام fwd.nginxweb.ir.db برای lookup رو به جلو در پوشه / var / named ایجاد کنید
توجه داشته باشید تمام نام دامنه باید با نقطه (.) پایان یابد.
برخی از کلمات کلیدی ویژه برای Zone Files بصورت زیر هستند:
A – A record NS – Name Server MX – Mail for Exchange CNAME – Canonical Name
خوب فایل zone ایجاد شده را باز میکنیم
vi /var/named/fwd.nginxweb.ir.db
حالا محتوای زیر را وارد میکنیم
$TTL 86400 @ IN SOA primary.nginxweb.ir. root.nginxweb.ir. ( 2014112511 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS primary.nginxweb.ir. ;IP address of Name Server primary IN A 192.168.12.8 ;Mail exchanger nginxweb.ir. IN MX 10 mail.nginxweb.ir. ;A - Record HostName To Ip Address www IN A 192.168.12.100 mail IN A 192.168.12.150 ;CNAME record ftp IN CNAME www.nginxweb.ir.
یک فایل “zone” به نام 12.168.192.db برای “reverse zone” در زیر پوشه /var/named ایجاد کنید، یک reverse pointer نیز برای zone فوق تنظیم میکنیم
PTR – Pointer SOA – Start of Authority
# vi /var/named/12.168.192.db $TTL 86400 @ IN SOA primary.nginxweb.ir. root.nginxweb.ir. ( 2014112511 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS primary.nginxweb.ir. ;Reverse lookup for Name Server 8 IN PTR primary.nginxweb.ir. ;PTR Record IP address to HostName 100 IN PTR www.nginxweb.ir. 150 IN PTR mail.nginxweb.ir.
پس از ایجاد فایل های zone، سرویس bind را مجددا ریستارت کنید.
systemctl restart named.service
همچنین سرویس را برای شروع در startup فعال کنید:
systemctl enable named.service
خوب تبریک میگم شما تونستید bind dns server را روی centos 7 نصب و کانفیگ و راه اندازی نمایید و هم اکنون اگر کار را صحیح انجام داده باشید domain شما به سرور متصل خواهد شد. در صورتیکه در dns سرور خود مشکلی دارید و نیاز به کانفیگ تخصصی و رفع اشکال دارید حتما با کارشناسان شرکت ما تماس بگیرید تا به بهترین نحو کانفیگ خدمتتون انجام و تنظیم شود.
نویسنده: عیسی محمدزاده
کارشناس مدیریت سرور و هاستینگ و امنیت شبکه
اشتراک گذاری مطلب
لینک کوتاه برای مطلب
با سلام
من تمامی این مراحل رو انجام دادم اما هنوز با تایپ کردن آدرس نمیتونم وارد سایت بشم
در صورتی از طریق آی پی به راحتی صفحه اصلی سایت رو دارم
به نظر شما کجای کار مشکل داره؟
درود. وقتی با آدرس نمیتوانید وارد شوید یعنی dns سرور شما یا رکوردهای zone ایجاد شده شما صحیح تنظیم نشده اند که باید مورد فوق را بررسی کنید همچنین فایروال نیز بررسی شود که پورت 53 حتما در سرور باز و فعال باشد
با سلام
منم دقیقا همین مشکل رو دارم. با IP میتونم سایت هاست شده روی سرور مجازی رو ببینم ولی با اسم دامین نمیتونم.
من تمامی تنظیمات رو هم درست رفتم و همچنین پورت ۵۳ و خود dns رو هم در فایروال باز کردم.
در ضمن من وقتی nslookup میگیریم از NameServer تنظیم شده، بهم جواب میده و ip سرور رو برمیگردونه.
شما میتونید کمک کنید و بگید مشکل از کجاست؟
ممنون