نصب و راه اندازی DNS

DNS سرنام Domain Name System سرویسی است که وظیفه ترجمه نام یا آدرس اینترنتی را به آی پی دارد برای مثال هنگامی که شما آدرس google.com را در مرورگر خود مورد پیمایش قرار می دهید این آدرس به آدرس آی پی ۱۷۳.۱۹۴.۴۵.۳۶ توسط سرور DNS ترجمه می شود برای نصب سرویس DNS دستور زیر را اجرا کنید.
1 |
[root@dns ~]# yum install bind bind-utils |
توجه داشته باشید که در این نوشته اسم دامین ما domain.com اسم DNS سرور ما dns.domain.com و آدرس آی پی سرور ۱۹۲.۱۶۸.۲۰.۲۰ می باشد.
پس از نصب سرویس dns فایل پیکربندی آن در مسیر /etc/named.comf ایجاد می شود این فایل شامل یکسری پیکربندی های این سرویس می باشد و باید بعد از نصب تنظیم شود در این نوشته بخش های مهم که باید تغییر داده شود مورد بررسی قرار می دهیم.
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { 127.0.0.1; 192.168.20.20}; 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 { localhost; 192.168.20.0/24}; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. - If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. - If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes; 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"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "domain.com" IN{ type master; file "forward.domain"; allow-update{none;}; }; zone "20.168.192.in-addr.arpa" IN{ type master; file "reverse.domain"; allow-update{none;}; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; |
۱-آدرس آی پی سرور DNS: مقدار ۱۹۲.۱۶۸.۲۰.۲۰
1 |
listen-on port 53 { 127.0.0.1; 192.168.20.20}; |
۲-دایرکتوری حاوی فایل های سرویس DNS: مقدار /var/named
1 |
directory "/var/named"; |
۳-آدرس شبکه ای که اجازه پرس و جو کردن از این سرور را داراست: مقدار ۱۹۲.۱۶۸.۲۰.۰/۲۴
1 |
allow-query { localhost; 192.168.20.0/24}; |
۴-Zone مربوط به ترجمه آدرس(نام) به آی پی: Forward Zone
1 2 3 4 5 6 7 8 9 |
zone "domain.com" IN{ type master; file "forward.domain"; allow-update{none;}; }; |
domain.com: نام دامنه
forward.domain: نام فایل مربوط به Zone که در مسیر /var/named باید ایجاد شود.
۵- Zone مربوط به ترجمه آی پی به آدرس(نام): Reverse Zone
1 2 3 4 5 6 7 8 9 |
zone "20.168.192.in-addr.arpa" IN{ type master; file "reverse.domain"; allow-update{none;}; }; |
۲۰.۱۶۸.۱۹۲: آدرس شبکه
reverse.domain: نام فایل مربوط به Zone که در مسیر /var/named باید ایجاد شود.
بعد از پیکربندی فایل named.conf باید فایل های مربوط به Forward Zone و Reverse Zone را در مسیر مشخص شده ایجاد کنید ابتدا فایل مربوط به Forward Zone و سپس Reverse Zone را ایجاد و محتویات آنها را به طور خلاصه مورد بررسی قرار می دهیم.
Forward Zone:
فایل مربوط به این Zone را با بایدبا توجه به مقادیری که در فایل named.conf وارد کردید ایجاد کنید ما در این نوشته نام forward.domain را در دایرکتوری /var/named مشخص کردیم این فایل را ایجاد کرده و محتویات آن را به شکل زیر وارد کنید.
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 27 28 29 30 31 |
$TTL 86400 @ IN SOA dns.domain.com. root.domain.com( ۲۰۱۱۰۷۱۰۰۱ ;Serial ۳۶۰۰ ;Refresh ۱۸۰۰ ;Retry ۶۰۴۸۰۰ ;Expire ۹۴۸۰۰ ;Minimum TTL ) @ IN NS dns.domain.com. @ IN A ۱۹۲.۱۶۸.۲۰.۲۰ @ IN A ۱۹۲.۱۶۸.۲۰.۲۱ @ IN A ۱۹۲.۱۶۸.۲۰.۲۲ dns IN A ۱۹۲.۱۶۸.۲۰.۲۰ fs IN A ۱۹۲.۱۶۸.۲۰.۲۱ dhcp IN A ۱۹۲.۱۶۸.۲۰.۲۲ |
۱-نام سرور DNS: مقدار dns.domain.com
1 2 3 |
@ IN SOA dns.domain.com. root.domain.com @ IN NS dns.domain.com. |
۲-رکورد: نحوه ایجاد رکورد(آی پی:۱۹۲.۱۶۸.۲۰.۲۰، آدرس dns)
1 2 3 |
@ IN A ۱۹۲.۱۶۸.۲۰.۲۰ dns IN A ۱۹۲.۱۶۸.۲۰.۲۰ |
Reverse Zone:
فایل مربوط به این Zone را با بایدبا توجه به مقادیری که در فایل named.conf وارد کردید ایجاد کنید ما در این نوشته نام reverse.domain را در دایرکتوری /var/named مشخص کردیم این فایل را ایجاد کرده و محتویات آن را به شکل زیر وارد کنید.
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 27 28 29 30 31 32 33 |
$TTL 86400 @ IN SOA dns.domain.com. root.domain.com( ۲۰۱۱۰۷۱۰۰۱ ;Serial ۳۶۰۰ ;Refresh ۱۸۰۰ ;Retry ۶۰۴۸۰۰ ;Expire ۹۴۸۰۰ ;Minimum TTL ) @ IN NS dns.domain.com. @ IN PTR domain.com. dns IN A ۱۹۲.۱۶۸.۲۰.۲۰ fs IN A ۱۹۲.۱۶۸.۲۰.۲۱ dhcp IN A ۱۹۲.۱۶۸.۲۰.۲۲ ۲۰ IN PTR dns.domain.com. ۲۱ IN PTR fs.domain.com. ۲۲ IN PTR dhcp.domain.com. |
۱-نام سرور DNS: مقدار dns.domain.com
1 2 3 |
@ IN SOA dns.domain.com. root.domain.com @ IN NS dns.domain.com. |
۲-نام دامنه: مقدار domain.com
1 |
@ IN PTR domain.com. |
۳-رکورد: نحوه ایجاد رکورد(آی پی: ۲۰ و ۱۹۲.۱۶۸.۲۰.۲۰، آدرس dns و dns.domain.com)
1 2 3 |
dns IN A ۱۹۲.۱۶۸.۲۰.۲۰ ۲۰ IN PTR dns.domain.com. |
بعد از ایجاد فایل ها برای اجرای سرویس DNS دستور زیر را اجرا کنید.
1 |
[root@dns ~]# systemctl start named |
برای اینکه سرویس DNS به هنگام راه اندازی مجدد به صورت خودکار اجرا شود دستور زیر را اجرا کنید.
1 |
[root@dns ~]# systemctl enable named |
برای اینکه مطمین شوید فایل های پیکربندی مربوط به سرویس DNS یه درستی مقدار دهی شده است دستورات زیر را به ترتیب اجرا کنید تا در صورت وجود مشکل برای شما نمایش داده شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@dns ~]# named-checkconf /etc/named.conf [root@dns ~]# named-checkzone domain.com /var/named/forward.domain zone domain.com/IN: loaded serial 2011071001 OK [root@dns ~]# named-checkzone domain.com /var/named/reverse.domain zone domain.com/IN: loaded serial 2011071001 OK |
بعد از پیکربندی کامل سرویس DNS و اجرای آن نیاز است تا پورت ۵۳ در فایروال باز شود برای این منظور دستورات زیر را به ترتیب اجرا کنید.
1 2 3 4 5 6 7 8 9 10 11 |
[root@dns ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent success [root@dns ~]# firewall-cmd --zone=public --add-port=53/udp --permanent success [root@dns ~]# firewall-cmd --reload success |
برای پرس و جو از سرور DNS و بررسی صحت کارکرد آن می توانید از دستور nslookup به شکل زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 |
[root@cl011 ~]# nslookup dhcp.domain.com Server: ۱۲۷.۰.۰.۱ Address: ۱۲۷.۰.۰.۱#۵۳ Name: dhcp.domain.com Address: 192.168.20.22 |
همان طور که در کد بالا می بینید آی پی ۱۹۲.۱۶۸.۲۰.۲۲ که مربوط به dhcp.domain.com می باشد توسط سرور DNS ترجمه شده است.
برگرفته از: لینک