قدم اول :
خب آنچه مسلم هست ما باید یک سرور داشته باشیم و هر سروری یک یا چند آی پی داره فرض کنیم سرور ما آی پیش هست
148.251.112.92
قدم دوم به یک آدرس اینترنتی نیاز داریم خب چرا از سایت خودم مایه نذارم؟ فرضا hastishop.ir
حالا دوست داریم دو تا nameserver هم داشته باشیم ، دوست که نه الزامی هست حداقل یکی باید باشه !
باز هم از سایت خودم مایه میذاریم
ns1.hastishop.ir
ns2.hastishop.ir
قدم دوم :
باید به کنترل پنل دامنه تون مراجعه کنید و زحمت پر کردن چند تا فیلد رو بکشید مثل عکس زیر

قدم سوم :
حالا روی سرور bind رو نصب میکنیم
کد:
apt-get install bind9
بعد از نصب bind وارد شاخه /etc/bind میشیم و فایل named.conf.options را ویرایش میکنیم
کد:
cd /etc/bind
nano named.conf.options
باید دستور
کد:
// forwarders {
// 0.0.0.0;
// };
رو به دستور
کد:
forwarders {
8.8.4.4;
};
بعد سیو کنید
قدم چهارم :
در این مرحله باید فایل zone دامنه رو بسازیم
یک فایل ایجاد میکنیم به اسم hastishop.ir.db
با محتوای
کد:
;
; BIND data file for hastishop.ir
;
$TTL 3h
@ IN SOA ns1.hastishop.ir. email.hastishop.ir. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
@ IN NS ns1.hastishop.ir.
@ IN NS ns2.hastishop.ir.
hastishop.ir. IN MX 10 mail.hastishop.ir.
hastishop.ir. IN A 148.251.112.92
ns1 IN A 148.251.112.92
ns2 IN A 148.251.112.92
www IN CNAME hastishop.ir.
mail IN A 148.251.112.92
ftp IN CNAME hastishop.ir.
توی فایل zone میتونید A record های دیگه ای ایجاد کنید مثلا بلاگ که باید بصورت زیر اضافه کنید به انتها
کد:
blog IN A 148.251.112.92
یا کلا همه سابدامین ها رو اجازه بدید (مثل سرویس های وبلاگدهی)
کد:
* IN A 148.251.112.92
حالا فایل رو ذخیره میکنیم
قدم پنجم :
در این مرحله باید فایل zone رو معرفی کنیم به bind در شاخه /etc/bind فایل named.conf.local را ادیت میکنیم و آدرس فایل zone که در مرحله قبل ساختیم بهش معرفی میکنیم
کد:
zone "hastishop.ir" {
type master;
file "/etc/bind/hastishop.ir.db";
};
به همین راحتی 
سپس سرویس bind را رستارت میکنیم
کد:
service bind9 restart
قدم آخر :
در این مرحله باید تست کنیم که همه چیز درست هست یا نه !
اول دستور زیر را اجرا میکنیم
کد:
dig @148.251.112.92 hastishop.ir
اگر خروجی شبیه زیر بود یعنی همه چیز درست هست و باید صبر کنید تا کش ISP رفرش بشه
کد:
; <<>> DiG 9.9.5-3-Ubuntu <<>> @148.251.112.92 hastishop.ir
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21829
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hastishop.ir.INA
;; ANSWER SECTION:
hastishop.ir.10800INA148.251.112.92
;; AUTHORITY SECTION:
hastishop.ir.10800INNSns1.hastishop.ir.
hastishop.ir.10800INNSns2.hastishop.ir.
;; ADDITIONAL SECTION:
ns1.hastishop.ir.10800INA148.251.112.92
ns2.hastishop.ir.10800INA148.251.112.92
;; Query time: 0 msec
;; SERVER: 148.251.112.92#53(148.251.112.92)
;; WHEN: Wed Dec 31 17:13:07 EST 2014
;; MSG SIZE rcvd: 125
حالا دستور زیر رو میزنیم
اگر خروجی مطابق زیر بود یعنی همه چیز درست هست و اکنون با زدن آدرس در مرورگر صفحه اول سرورتون رو نمایش میده
کد:
; <<>> DiG 9.9.5-3-Ubuntu <<>> hastishop.ir
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56888
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 5
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hastishop.ir.INA
;; ANSWER SECTION:
hastishop.ir.7021INA148.251.112.92
;; AUTHORITY SECTION:
ir.89347INNSa.nic.ir.
ir.89347INNSns.irnic.ir.
ir.89347INNSns5.univie.ac.at.
;; ADDITIONAL SECTION:
a.nic.ir.89347INA193.189.123.2
ns.irnic.ir.89347INA193.189.122.83
ns5.univie.ac.at.89347INA193.171.255.77
ns5.univie.ac.at.89347INAAAA2001:628:453:4305::53
;; Query time: 38 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 31 17:14:39 EST 2014
;; MSG SIZE rcvd: 206
اما اگر خروجی جز این بود نگران نباشید ، فقط چند ساعتی منتظر بمانید و مجددا تست کنید 
برای مطالعه بیشتر سر بزنید به
https://help.ubuntu.com/community/BIND9ServerHowto
سوالی بود در خدمتم ، ارادتمند شما رضا شیخله
لینک منبع :
وبلاگ رضا شیخله » راهنمای نصب DNS Server بوسیله bind برروی ubuntu