BIND gears 

راهنمای نصب و پیکربندی سرویس دهنده BIND DNS

ویرایش 1.00 ( آخرین بروزرسانی 28nd Sep 2005 ) - تغییرات صورت گرفته Changelog
آدرس اینترنتی: http://www.hezardastan.org/bind
گردآوری و تالیف : مهدی حسن پور

لطفا جهت حمایت از توسعه دهندگان این نرم افزارها و نویسندگان مستندات و راهنمایی ها، ما را از هدایای خود محروم ننمایید. با تشکر


گواهی رفع ادعا Disclamer

این مستندات کاملا آزاد و رایگان منتشر میشوند. شما میتوانید آنها را مجددا تحت اجازه نامه GNU General Public License توسعه دهید و یا تغییراتی در آنها ایجاد نمایید.

این مستندات با امید به اینکه برای شما کاربر گرامی قابل استفاده و مفید باشد تهیه شده و توسعه میابد. در عين حال ذكر اين نكته نيز ضروری است که این مستندات بدون هرگونه ضمانت منتشر ميشوند. لطفا جهت اطلاع از جزئیات بیشتر٬ اجازه نامه GNU General Public License را مطالعه فرمایید.

نکات عمومی

  1. این راهنما برای نصب و پیکربندی آسانتر سرویس دهنده BIND DNS برای کاربران فارسی زبان آماده شده است.
  2. قسمت هایی که در مستطیل های مشکی رنگ میبینید، به این معناست که باید در محیط ترمینال (خط فرمان) اجرا شوند.
  3. جهت جلوگیری از اشتباهات تایپی احتمالی توسط شما در هنگام تایپ دستورات، توصیه میشود دستورات نوشته شده را کپی کرده و در محیط ترمینال درج نمایید.
  4. فرمان "wget" برای دریافت بسته های نرم افزاری نیاز به اتصال به اینترنت دارد.
  5. برای دریافت یک فایل، در محیط مرورگر خود بر روی لینک مورد نظر راست کلیک نمایید و سپس "save link as" را انتخاب نمایید. مطمئن شوید که نام فایل و آدرس دریافت آن صحیح است.
  6. جهت انتقال نظرات، پیشنهادات و انتقادات میتوانید با آدرس ایمیل mehdi AT hezardastan DOT org مکاتبه نمایید.
  7. توجه نمایید که این صفحه برای مشاهده با فونت Tahoma بهینه شده، لذا در صورتی كه این فونت در سیستم شما موجود نمیباشد، جهت مشاهده بهتر این صفحه فونت Tahoma را در پوشه فونتهای سیستم خود اضافه نمایید.

ToDo

  1. استفاده از Webmin به عنوان یک ابزار گرافیکی جهت ثبت و آدرس دهی دامنه های مختلف در سرویس دهنده BIND DNS
  2. پیکربندی و تنظیمات سرویس دهنده DNS ثانویه


فهرست موضوعات و مطالب


شروع

  1. معرفی اجمالی سرویس DNS
  2. سرویس دهنده های Authoritative DNS
  3. نحوه عملکرد سرویس DNS

مراحل نصب

  1. دریافت و نصب BIND DNS

پیکربندی و تنظیمات

  1. پیکربندی فایل مخدوم «DNS Client»
  2. تنظیمات فایل named.conf
  3. کاربران و فضای کار BIND
  4. تنظیمات گزارش نویسی سیستمی BIND
  5. تنظیم rndc
  6. راه اندازی سرویس BIND DNS
  7. ثبت و آدرس دهی یک دامنه در سرویس دهنده  BIND DNS
  8. تنظیم Forward Zone
  9. تنظیم Reverse Zone

امنیت 

  1. امنیت در سرویس دهنده BIND DNS

شروع



معرفی اجمالی سرویس DNS

سرویس دهنده های Authoritative DNS

نحوه عملکرد سرویس DNS

فرض کنید http://www.hezardastan.org را در مرورگر خود وارد نموده اید.
  1. مرورگر یا برنامه ای که آدرس URL فوق را در آن وارد نموده اید٬ ابتدا دیتا بانک خود را برای پیدا کردن IP آدرس دامنه مورد نظر بررسی می نماید. مثلا اگر شما از یک مرورگر اینترنتی استفاده می نمایید٬ مرورگر قبل از مراجعه و سوال از سرویس دهنده DNS ابتدا از  Cache  داخلی خود آدرس را جستجو می نماید و در صورتی که پاسخ لازم را دریافت نماید٬ دیگر سراغ DNS نخواهد رفت.
  2. مرورگر یا برنامه ای که آدرس URL فوق را در آن وارد نموده اید٬ سراغ فایل مخدوم سرویس دهنده DNS یعنی etc/resolv.conf/ میرود و نام یا IP آدرس سرویس دهنده های DNS که میتواند درخواست های خود را برای آنها بفرستد را از این فایل دریافت می نماید.
  3. فرض نمایید مرورگر یا برنامه ای که آدرس URL فوق را در آن وارد نموده اید٬ از روش 2 درمیابد که برای تبدیل نام دامنه های وارد شده به آدرس IP سرویس دهنده مربوطه٬ باید به سرویس دهنده DNS با IP آدرس 192.9.9.3 مراجعه نماید.
  4. سرویس دهنده 192.9.9.3 ابتدا در Cache خود درخواست شما را جستجو می نماید٬ در صورتی که پاسخ را پیدا کند این پاسخ را برای شما ارسال می نماید و به محل دیگری مراجعه نخواهد کرد و در صورتی که پاسخ را پیدا ننماید٬ سرویس دهنده DNS به دنبال این می گردد که آیا دامنه مورد درخواست برنامه شما به صورت محلی «local» در خودش وجود دارد یا خیر٬ در صورتی که به صورت محلی نیز دامنه مورد درخواست شما در این سرویس دهنده DNS نباشد٬ سرویس دهنده DNS آخرین قسمت دامنه مورد درخواست شما (TLD (Top Level Domain مثل com. را گرفته و درخواست را برای یک سرویس دهنده root اصلی یا Authoritative ارسال نموده و پاسخ را از آن دریافت می نماید. سپس سرویس دهنده 192.9.9.3 به سراغ قسمت دوم دامنه مورد نظر شما رفته و جواب را به همین ترتیب از سرویس دهنده های مربوطه دریافت می نماید.
  5. پس از دریافت آخرین record ٬ سرویس دهنده 192.9.9.3 پاسخ را به شما برگردانده و ضمنا برای استفاده های بعدی این پاسخ را در حافظه Cache خود نگهداری مینماید.



مراحل نصب



دریافت و نصب BIND DNS

نکته : در تهیه این مستندات سعی بر این خواهد بود که کاربران توزیع های مختلف بتوانند از مطالب ارائه شده استفاده بهینه نمایند٬ لذا مراحل نصب به صورت نصب از طریق کد منبع توضیح داده میشود.
# cd /usr/local 
# wget -c ftp://ftp.isc.org/isc/bind9/9.3.1/bind-9.3.1.tar.gz
# tar zxf bind-9.3.1.tar.gz
# cd bind-9.3.1
# ./configure --prefix=/usr/local/bind
# make
# make install
# mkdir -p /usr/local/bind/{etc,namedb,dev,var/run}


پیکربندی و تنظیمات


پیکربندی فایل مخدوم «DNS Client»

  1. Name Server : در مقابل آن IP آدرس سرویس دهنده DNS كه این ماشین برای دریافت اطلاعات مربوط به یک دامنه باید به آن مراجعه نماید درج میشود.
  2. Domain : نام دامنه محلی این ماشین، مثلا اگر این ماشین mehdi.hezardastan.org است٬ قسمت hezardastan.org را در مقابل Domain مینویسیم.
  3. Search  : در مقابل Search نام ماشینی را می نویسیم كه ماشین محلی برای دریافت اطلاعات مربوط به یک دامنه به آن مراجعه می نماید. در صورتی که در این قسمت بخواهید چند اسم ماشین بدهید می توانید اسامی را با فاصله از هم جدا نمایید. ضمنا برای ماشین های موجود در دامنه محلی، پسوند دامنه لازم نیست.
          و ستون دوم شامل IP آدرسها و یا نام دامنه ها می باشد.

search     test.com   test.net   test.org
domain     test.com
name server   192.168.0.1
name server     192.9.9.3

تنظیمات فایل named.conf

فایل usr/local/bind/etc/named.conf/ را با کمک یک برنامه ویرایشگر ایجاد کرده و به صورت زیر ویرایش نمایید.
options {
directory "/namedb";
version "I do not give any version info";
pid-file "/var/run/named.pid";
allow-transfer { none ;};
};

zone "." IN {
type hint;
file "/etc/named.root";
};

فایل named.conf را دریافت می نماییم.

# cd /usr/local/bind/etc 
# wget ftp://ftp.internic.com/domain/named.root

كاربران و فضای كاری BIND

# groupadd named 
# useradd named -d /usr/local/bind -s /bin/false -g named -c "DNS Jail User"
# mknod /usr/local/bind/dev/null c 1 3
# mknod /usr/local/bind/dev/random c 1 8
# chmod 666 /usr/local/bind/dev/{null,random}
# cp /etc/localtime /usr/local/bind/etc/

تنظیمات گزارش نويسی سيستمی BIND

ذکر این نکته نیز ضروری است که با توجه به اینکه تنظیماتی که باید اعمال شوند در فایل تنظیمی syslog نیستند٬ این تنظیمات باید در بخش پیکربندی نحوه بالا آمدن syslog daemon انجام شوند٬ که بسته به توزیعهای مختلف لینوکس متفاوت می باشند.

در توزیع Debian


در فایل 
etc/init.d/sysklogd/ خط فرمان ""=SYSLOGD را به "SYSLOGD="-a /usr/local/bind/dev/log تغییر دهید.


در توزیعهای Redhat/Fedora Core


فایل پیکربندی بالا آمدن syslog daemon در مسیر etc/rc.d/init.d/syslog/ قرار دارد. در این فایل٬ به دنبال خط فرمان زیر بگردید.

daemon syslogd -m 0
خط فرمان فوق را بصورت زیر تغییر دهید.
daemon syslogd -m 0 -a /usr/local/bind/dev/log

در توزیع  Slackware

در فایل etc/rc.d/rc.inet2/ خط فرمان a /usr/local/bind/dev/log- را به خط فرمان usr/bin/syslogd/ اضافه نمایید.

نکته! سویچ "a-" در فایل بالا آمدن syslogd به معنی سوکت دیگری است که syslogd باید به آن گوش دهد.

در پايان برای بالابردن امنیت پوشه ها:
# chown named:named /usr/local/bind 
# chown -R named:named /usr/local/bind/var
# chmod 700 /usr/local/bind

تنظیم rndc

فایل کلیدی rndc در واقع سرویس named را کنترل می نماید. با کمک این فایل کلیدی شما می توانید وضعیت سرویس دهنده BIND را کنترل نموده و یا تنظیمات فایل named.conf را دوباره خوانی نمایید.

برای ایجاد فایل rndc.key
# cd /usr/local/bind/sbin
# ./rndc-confgen > rndc.conf
# ./rndc-confgen -a
پس از اجرای این خط فرمانها فایل rndc.key در مسیر usr/local/bind/etc/ و فایل rndc.conf در مسیر usr/local/bind/sbin/ ایجاد خواهند شد.

در فایل rndc.conf که در مسیر usr/local/bind/sbin/ ایجاد شده است، این قسمت را
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "oTp9kfWXibrALQmvdDEixw==";
};
کپی نموده و کل محتویات فایل rndc.key که در مسیر usr/local/bind/etc/ قرار دارد را پاک نموده و خط فرمانهای بالا را به جای آنها درج نمایید.

مجددا در فایل rndc.conf که در مسیر usr/local/bind/sbin/ ایجاد شده است، این قسمت را
# key "rndc-key" {
# algorithm hmac-md5;
# secret "oTp9kfWXibrALQmvdDEixw==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
کپی نموده و خط فرمانهای کپی شده را در فایل named.conf که در مسیر usr/local/bind/etc/ قرار دارد درج نمایید.

توجه! کلیه علامتهای # را باید از ابتدای خط فرمانهای بالا پس از درج در فایل named.conf بردارید.

راه اندازی سرويس BIND DNS

# /usr/local/bind/sbin/named -u named -t /usr/local/bind -c /etc/named.conf

و سپس با خط فرمان 
# ps aux | grep -v grep | grep named
و یا 
# /usr/local/bind/sbin/rndc status
مطمئن میشویم که این سرویس شروع به کار کرده یا خیر.

در صورتی که با موفقیت به این مرحله رسیده اید٬ و به اینترنت متصل هستید با خط فرمان زیر اولین درخواست را برای سرویس دهنده DNS بفرستید (query بگیرید).

# host www.linux.org 127.0.0.1 
www.linux.org has address 198.182.196.56
 شما باید پاسخی مانند بالا دریافت نمایید٬ در این صورت DNS شما به اولین درخواست (query) به خوبی پاسخ داده است.

با اجرای خط فرمان
# /usr/local/bind/sbin/rndc status
می توانید وضعیت سرویس دهنده DNS را ببینید.

و با اجرای خط فرمان
# /usr/local/bind/sbin/rndc reload
سرویس دهنده DNS یک بار فایل پیکربندی named.conf را دوباره خوانی می کند تا در صورت ایجاد تغییرات، آن تغییرات را اعمال نماید.

ثبت و آدرس دهی يک دامنه در سرويس دهنده BIND DNS

Forward Zone درواقع جهت ارجاع دامنه ها به IP آدرس٬ تنظیم میشود.

فرض کنید دامنه ای به نام hezardastan.org را از یک ارائه دهنده سرویس دامنه مانند register.com خریداری نموده ایم و می خواهیم آنرا در سرویس دهنده DNS خود ثبت کرده٬ سپس زیر دامنه های mail و www را برای آن ایجاد نموده و به سرویس دهنده های مختلف مسیردهی نماییم.

برای هر دامنه ای که می خواهیم در سرویس دهنده DNS ثبت نماییم می بایست خط فرمانهای زیر را در انتهای فایل named.conf سرویس دهنده BIND درج نماییم. این فایل در مسیر usr/local/bind/etc/named.conf/ قرار داشت٬ یاد تونه ؟ 
خط فرمانهای زیر برای ثبت دامنه hezardastan.org در سرویس دهنده BIND و ضمنا معرفی فایل hezardastan.org.zone که از آن برای مسیر دهی دامنه و زیر دامنه های hezardastan.org استفاده خواهیم نمود٬ نوشته میشوند.
فایل hezardastan.org.zone در مسیر usr/local/bind/namedb/hezardastan.org.zone/ قرار خواهد گرفت. توجه نمایید که مسیر zone فایلها را قبلا در خط directory فایل named.conf مشخص نمودیم.

به كمک يک ويرايشگر فايل usr/local/bind/etc/named.conf/ را باز كرده و خطوط زير را در آن درج نماييد
zone "hezardastan.org" { 
        type master ;
        file "hezardastan.org.zone";
        allow-query {any;};
        allow-update { none; };  
};

پس از نوشتن این خط فرمانها٬ فایل hezardastan.org.zone را در مسير usr/local/bind/namedb/ ایجاد می نماییم. توجه نمایید که برای آدرس دهی هر دامنه در سرویس دهنده DNS خود باید یک فایل به این ترتیب ایجاد نمایید.

به كمک يک ويرايشگر فايل usr/local/bind/namedb/hezardastan.org.zone/ را ایجاد كرده و خطوط زير را در آن درج نماييد
$TTL 14400 

hezardastan.org. IN SOA ns1.hezardastan.org. mehdi.hezardastan.org. (
2005030601 ; serial
7200 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum

hezardastan.org. IN NS ns1.hezardastan.org.
hezardastan.org. IN A 192.168.0.200
mail.hezardastan.org. IN CNAME hezardastan.org.
www.hezardastan.org. IN CNAME hezardastan.org.
hezardastan.org. IN MX 5 mail.hezardastan.org.
ftp.hezardastan.org. IN A 192.168.0.201

در zone فایلها که به صورت بالا ویرایش میشوند٬ می بایست مقدار (TTL (Time To Live مشخص باشد. 
مقدار
TTL در واقع به سرویس دهنده های DNS دیگر می گوید تا چه مدت اطلاعات دامنه شما را در حافظه  Cache خود برای کمتر شدن مراجعات به سرویس دهنده DNS شما نگهداری نمایند. به عنوان مثال اگر مقدار TTL مانند دامنه hezardastan.org که در بالا تنظیم نموده ایم‏، 86400 ثانیه باشد، زمانی که یک سرویس دهنده DNS دیگر، IP آدرس دامنه www.hezardastan.org را از سرویس دهنده شما می پرسد تا 86400 ثانیه دیگر، یعنی تا یک روز بعد از سرویس دهنده DNS شما IP آدرس دامنه www.hezardastan.org را نخواهد پرسید و کلیه درخواستها برای www.hezardastan.org را به همان IP آدرسی که قبلا گرفته بود، ارجاع می دهد.

مقادیری که در zone فایل نوشته می شوند انواع مختلفی دارند.

MX برای Mail
A برای Forward Lookups
PTR برای Reverse Lookups
CNAME برای شرایط مشابه یا alias ها
SOA  برای Start Of Authority

ساختار کلی قسمت SOA به این شکل است

 Name   Class   Type  Name-Server   Email-Address   Serial-No   Refresh  Retry   Expiry   Minimum-TTL

ذکر این نکته نیز ضروری است٬ که در مثال بالا 86400 به معنای 86400 ثانیه است و شما از مقادیر H به معنی ساعت یا D به معنی روز و یا W به معنی هفته نیز در کنار اعداد می توانید استفاده نمایید. مثلا :
86400 = 1D= 1 شبانه روز

ns1.hezardastan.org که بعد از SOA نوشته شده است در واقع Name Server یا نام سرويس دهنده ای است که دامنه hezardastan.org را در آن ثبت می کنیم و mehdi.hezardastan.org آدرس ایمیل مدیر این سرویس دهنده DNS است. دقت نمایید که اینجا و در این آدرس ایمیل باید به جای کاراکتر @ از کاراکتر . استفاده نمایید.

لطفا فراموش نکنید که باید بعد از هر اسم دامنه٬ کاراکتر . را قرار دهید.

Serial Number را مخصوص هر zone فایل می دهیم. این شماره سریال ها را معمولا به صورت تاریخ روز شماره گذاری می کنیم. به عنوان نمونه در Zone فایل دامنه hezardastan.org که در مثال بالا مطرح شد 2005030601 سال 2005 ماه 03 روز 06 و 01 نیز به معنی اولین دامنه ایجاد شده در آن روز می باشد. توجه نمایید که خطوطی که بعد از ; نوشته شده اند توضیح (Comment) هستند.

در Zone فایلی که ما در بالا درست کرده ایم خط

hezardastan.org.    IN      A      192.168.0.200

به این معنی است که دامنه hezardastan.org بر روی سرویس دهنده ای با IP آدرس 192.168.0.200 میزبانی می شود.

خط  

ftp.hezardastan.org.    IN      A      192.168.0.201

به این معنی است که زیر دامنه ftp.hezardastan.org بر روی سرویس دهنده ای با IP آدرس 192.168.0.201 میزبانی میشود. 

خط

hezardastan.org.       IN      MX      5      mail.hezardastan.org.

به این معنی است که ایمیلهایی که برای دامنه hezardastan.org فرستاده می شوند٬ باید به ماشین mail.hezardastan.org بروند که در خط دیگری IP سرویس دهنده mail.hezardastan.org آدرس 192.168.0.200 قرار داده شده است. عدد 5 برتری این سرویس دهنده ایمیل نسبت به سرویس دهنده های مشابه در شبکه را تعیین می نماید. این عدد را برای برتری بیشتر٬ 10 نیز میتوانید قرار دهید.

قسمت پایینی zone فایل را به جای روش بالا٬ به این صورت نیز می توانید ویرایش نمایید.

hezardastan.org.    IN      A         192.168.0.200
www           IN      CNAME       hezardastan.org.
mail           IN      CNAME       hezardastan.org.

خط فرمانهای بالا به این معنی هستند که زیر دامنه های www و mail در سرویس دهنده ای با IP آدرس 192.168.0.200 میزبانی می شوند.

به این ترتیب می توانید زیر دامنه هایی را که نیاز دارید ایجاد نموده و با مشخص کردن IP آدرس سرویس دهنده های میزبان٬ این زیر دامنه ها را به سرویس دهنده های مختلفی ارجاع دهید.


Reverse Zone در واقع به منظور ارجاع IP آدرس به دامنه٬ تنظیم میشود.

به كمک يک ويرايشگر فايل usr/local/bind/namedb/192.168.0.rev/ را باز كرده و خطوط زير را در آن درج نماييد
$TTL 14400 

0.168.192.in-addr.arpa. IN SOA ns1.hezardastan.org. mehdi.hezardastan.org. (
2005030602 ; serial
7200 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum

0.168.192.in-addr.arpa. IN NS ns1.hezardastan.org.
200.0.168.192.in-addr.arpa. IN PTR hezardastan.org.
www.0.168.192.in-addr.arpa. IN CNAME hezardastan.org.
mail.0.168.192.in-addr.arpa. IN CNAME hezardastan.org.
201.0.168.192.in-addr.arpa. IN PTR ftp.hezardastan.org.
در مقابل رکورد PTR باید نام کامل سرویس دهنده درج شود.

پس از انجام تنظیمات فوق می بایست سرویس named را راه اندازی دوباره (restart) نمایید. 

خط فرمان

# kill -1 `pidof named`

و یا

# /usr/local/bind/sbin/rndc reload

یک بار سرویس named سرویس دهنده شما را راه اندازی مجدد خواهد نمود.

اكنون سرویس DNS ما دوباره راه اندازی شده است و می تواند به درخواست های ما پاسخ دهد. به عنوان مثال به کمک درخواست زیر٬ سرویس دهنده DNS به ما پاسخ می دهد كه كدام سرویس دهنده ایمیل مسؤل دریافت ایمیل های فرستاده شده به دامنه hezardastan.org است .

# host -t mx hezardastan.org 127.0.0.1
hezardastan.org mail is handled by 5 mail.hezardastan.org.
در صورتی که پاسخ فوق را دریافت نمودید٬ تا اینجای كار مشكلی ندارید و می توانید كار را ادامه دهید.



امنيت


امنيت در سرويس دهنده BIND DNS

  1. در مستندات RFC تاكید شده است كه سرویس دهنده های Authoritative DNS و Cache-Only بر روی یک سرویس دهنده نباشند.
    نباید از سرویس دهنده های
    Authoritative در فایل etc/resolv.conf/ استفاده نمایید.
  2. سرویس دهنده DNS که با روش بالا پیکربندی کرده ایم٬ هم سرویس Authoritative و هم سرویس Cache هم زمان دارد. در صورتی که مایل به داشتن هر دوی این سرویس ها بر روی این سرویس دهنده نیستید٬ می توانید خط فرمانهای زیر را از فایل usr/local/bind/named/named.conf/ حذف نمایید.
 zone "." IN {
            type hint;
            file "named.root";
             };
زمانی كه این خطوط را حذف می نمایید٬ سرویس دهنده DNS شما از سرویس دهنده های root اصلی بی خبر خواهد ماند و نمی تواند به سؤالات NS در مورد Zone هایی كه نسبت به این سرویس دهنده Authoritative نیستند٬ پاسخ دهد.

  1. درخواست های بازگشتی (query های recursive) می بایست غیر فعال شوند. این عمل مخصوصا زمانی برای سرویس دهنده شما مفید خواهد بود كه شما پهنای باند محدودی در اختیار دارید. برای این كار خط فرمان زیر را در فایل usr/local/bind/named/named.conf/ بین خط فرمانهای بخش options درج نمایید.
 allow-recursion { none; };
به این ترتیب سرویس دهنده DNS شما در پاسخ به درخواستها فقط IP آدرس NS سرویس دهنده DNS بعدی را می دهد و نه پاسخ درخواست او را.

  1. در صورتی که تمایل دارید ضریب امنیت را بسیار بالا ببرید٬ میتوانید كلیه درخواستها به غیر از درخواستهایی كه مربوط به Zone های داخلی سرویس دهنده شما هستند را غیر فعال نمایید.
به این ترتیب سرویس دهنده DNS شما در جواب درخواستهایی كه برای دامنه هایی غیر از دامنه های داخلی شما می آیند٬ پاسخ "Connection Refused" خواهد داد.

برای این كار در كلیه قسمتهای فایل named.conf به جای خط فرمان
 allow-query {any;};
بنویسید
 allow-query { none; };

و یا اینكه فقط به یک شبكه خاص در رنج IP آدرس 192.168.1.0/24 پاسخ دهید.
 allow-query {192.168.1.0/24;};