آبجی
10th March 2010, 02:04 PM
MyDnsیه DNS سرور بر پایه MySQL و بر عکس Bind هست که تنظیماتش توی فایل ذخیره میشه.مهمترین برتری این سرور نسبت به بقیه اینه که وقتی Zone جدید و.... میسازیم احتیاجی به restart and reload نداره.
MyDNSConfig هم یک web interface برای کانفیگ MyDNS هست.
خوب بریم سراغ نصب :
اول کار باید وب سرور و mysql راه بیاندازیم بدین شکل
apt-get install apache php4 mysql-server phpmyadmin
نکته :
برای نصب این بسته ها 2 حالت داره یا از روی cd که با دستور apt-cdrom براحتی میدونید cdهاتون رو به سیستم معرفی کنید
ویا از Internet که باید فایل sources.list در /etc/apt/ رو بدین شکل تنظیم کنید
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
و بعدش apt-get update فراموشتون نشه!!
ادامه تنظیمات :
خوب حالا میریم سراغ Mysql و برای root پسورد میزاریم که من اینجا root رو انتخاب میکنم
mysqladmin password root -u root
بعد نوبت ساختن دیتابیس و دادن PRIVILEGES به اونه
من همه اینها رو dns انتخاب مبکنم یعنیuser,pass,database=dns
mysql -u root -p
CREATE DATABASE dns;
GRANT SELECT, INSERT, UPDATE, DELETE ON dns.* TO 'dns'@'localhost' IDENTIFIED BY 'dns';
GRANT SELECT, INSERT, UPDATE, DELETE ON dns.* TO 'dns'@'localhost.localdomain' IDENTIFIED BY 'dns';
FLUSH PRIVILEGES;
quit;
حالا باید MyDNSConfig رو دانلود کنید
cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz
tar xvfz MyDNSConfig-1.1.0.tar.gz
cd MyDNSConfig-1.1.0
اگر ورژن Mysqlتون 4 هست اینو بگیرید
wget http://behroozi.persiangig.com/linux/MyDNSConfig-1.1.0.tar.gz
توی این فایل هم ورژن 5 هست هم 4
حالا میرسیم سر نصبش :
mkdir /usr/share/mydnsconfig
cp -rf interface/* /usr/share/mydnsconfig/
ln -s /usr/share/mydnsconfig/web/ /var/www/mydnsconfig
فایل دیتابیس رو import میکنیم
اگر فایل از سایت اصلی گرفتین
mysql -u root -p mydns < install/mydnsconfig.sql
و اگر فایل منو گرفتی
for mysql v5
mysql -u dns -p dns < install/sqlv5/mydnsconfig.sql
or for mysql v4
mysql -u dns -p dns < install/sqlv4/ispconfig3db.sql
دیتابیسمون امدست (یاد برنامه آشپزی افتادم!) و باید MyDNSConfig رو کانفیگ کنیم تا با این دیتابیس کار کنه
nano /usr/share/mydnsconfig/lib/config.inc.php
این خطوط رو پیدا کنید
$conf["db_type"] = 'mysql';
$conf["db_host"] = 'localhost';
$conf["db_database"] = 'mydns';
$conf["db_user"] = 'mydns';
$conf["db_password"] = 'mydnspassword';
و بدین شکل تغییر بدین(فراموش نکنید که من طبق پارامترهایی که از اول با هم کانفیگ کردیم ,تنظیم کردم)
$conf["db_type"] = 'mysql';
$conf["db_host"] = 'localhost';
$conf["db_database"] = 'dns';
$conf["db_user"] = 'dns';
$conf["db_password"] = 'dns';
خوب Mydnsconfig آمادست و اگه دوست دارین میتونید از توی tmp پاکش کنی
cd /tmp
rm -rf MyDNSConfig-1.1.0/
rm -f MyDNSConfig-1.1.0.tar.gz
وقت نصب MyDNS رسیده و داره کم کم بوهای خوبی به مشاممون میرسه
apt-get install mydns-mysql
آره میدونم نصبش خیلی سخت بود!!! ولی توجه داشته باشید که حین نصب سوالاتی راجب دیتابیس ازتون میپرسه که باید مشخصات دیتابیسی که بالا ساختیم رو بدید....خنگ بازی در نیارینا!!
فایل کانفیگ MyDNS رو تنظیم میکنیم تا به TCPها هم گوش بده و بتونیم Zone transfer داشته باشیم
nano /etc/mydns.conf
allow-tcp = yes
کار ما تموم شد و کلاغه هم امیدوارم به خونش برسه
برای وصل شدن به سرور هر Browserای که عشقتونه باز کنید و بزنید
http://youserverip/mydnsconfig/
user=admin
pass=admin
پسورد هم عوض کنید که فردا نگید بلا ملا سرمون اومده
MyDns چند تا مشکل داره و البته بعضی جاها خوبی شمرده میشه :
DNS resolver نداره که اگه برای zoneای از قضاauthoritative نبود بتونه اون درخواست رو پاسخ بده(یعنی اگه خودش اون zone رو هاست نمیکنه دگه نمیتونه بره از dns serverهای دیگه پرس وجو کنه!!)
شاید بپرسن خوبیه این چیه که من گفتم...خوب معلومه گمپ گلم (من شیرازیما) شما اگه احتیاجی به resolve کردن دومین های دیگه ندارین , از شر کلی هکر و بچه هکر و....راحتین که دیگه نمیتونن از این طریق مشکلی براتون پیش بیارن
حالا ناراحت نشو اینم راه داره باید DNSMasq رو نصب کنیم
Create a DNS Resolver on IP 127.0.0.1:
apt-get install dnsmasq
برای اینکه هر دو(MyDns and dnsmasq) به یک 127.0.0.1گوش ندنو و تداخل پیش نیاد
nano /etc/dnsmasq.conf
listen-address=127.0.0.1
no-dhcp-interface=
bind-interfaces
حالو به mydns.conf میگیم به 127.0.0.1 گوش نده
nano /etc/mydns.conf
no-listen = 127.0.0.1
recursive = 127.0.0.1
/etc/resolv.conf/ ویرایش میکنیم
nano /etc/resolv.conf
این nameserver 127.0.0.1 رو به اولین خط اضافه میکنیم تا DNSMasq DNS-Cache برای همه local DNS queries استفاده بشه.
نکته » شما اگر 2 تا کارت شبکه یا بیشتر داشته باشین mydns فقط به eth0 گوش میده پس باید بگید که یه اونها گوش یده پسر خوب...چطوری؟اینجوری
توی mydns.conf باید ip کارت شبکه هاتون رو اضافه کنی
listen = 192.168.0.201,192.168.1.201
پس ما اینجا به mydns گفتیم که به 192.168.0.201 و 192.168.1.201 گوش بده و اگر برای اون درخواست authoritative نبود بره سراغ 127.0.0.1کهdnsmasq باش
استفاده از dig برای تست رکوردها :
1-تست Forward DNS record
d1:~# dig @192.168.0.201 reza.persianadmins.com
; <<>> DiG 9.2.4 <<>> @192.168.0.201 reza.persianadmins.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51758
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;reza.persianadmins.com. IN A
;; ANSWER SECTION:
reza.persianadmins.com. 86400 IN A 192.168.0.1
;; Query time: 159 msec
;; SERVER: 192.168.0.201#53(192.168.0.201)
;; WHEN: Sun Mar 11 07:31:56 2007
;; MSG SIZE rcvd: 56
2-تست reverse DNS record
d1:~# dig @192.168.0.201 -x 192.168.0.1
; <<>> DiG 9.2.4 <<>> @192.168.0.201 -x 192.168.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46405
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;1.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.168.192.in-addr.arpa. 86400 IN PTR reza.persianadmins.com.
;; Query time: 27 msec
;; SERVER: 192.168.0.201#53(192.168.0.201)
;; WHEN: Sun Mar 11 07:42:05 2007
;; MSG SIZE rcvd: 78
در هر دو فایلی که دانلود میکنید تمام مراحل بدقت توضیح داده شده پس میتونید دستورات رو از اونجا کپی کنید
MyDNSConfig هم یک web interface برای کانفیگ MyDNS هست.
خوب بریم سراغ نصب :
اول کار باید وب سرور و mysql راه بیاندازیم بدین شکل
apt-get install apache php4 mysql-server phpmyadmin
نکته :
برای نصب این بسته ها 2 حالت داره یا از روی cd که با دستور apt-cdrom براحتی میدونید cdهاتون رو به سیستم معرفی کنید
ویا از Internet که باید فایل sources.list در /etc/apt/ رو بدین شکل تنظیم کنید
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
و بعدش apt-get update فراموشتون نشه!!
ادامه تنظیمات :
خوب حالا میریم سراغ Mysql و برای root پسورد میزاریم که من اینجا root رو انتخاب میکنم
mysqladmin password root -u root
بعد نوبت ساختن دیتابیس و دادن PRIVILEGES به اونه
من همه اینها رو dns انتخاب مبکنم یعنیuser,pass,database=dns
mysql -u root -p
CREATE DATABASE dns;
GRANT SELECT, INSERT, UPDATE, DELETE ON dns.* TO 'dns'@'localhost' IDENTIFIED BY 'dns';
GRANT SELECT, INSERT, UPDATE, DELETE ON dns.* TO 'dns'@'localhost.localdomain' IDENTIFIED BY 'dns';
FLUSH PRIVILEGES;
quit;
حالا باید MyDNSConfig رو دانلود کنید
cd /tmp
wget http://mesh.dl.sourceforge.net/sourceforge/mydnsconfig/MyDNSConfig-1.1.0.tar.gz
tar xvfz MyDNSConfig-1.1.0.tar.gz
cd MyDNSConfig-1.1.0
اگر ورژن Mysqlتون 4 هست اینو بگیرید
wget http://behroozi.persiangig.com/linux/MyDNSConfig-1.1.0.tar.gz
توی این فایل هم ورژن 5 هست هم 4
حالا میرسیم سر نصبش :
mkdir /usr/share/mydnsconfig
cp -rf interface/* /usr/share/mydnsconfig/
ln -s /usr/share/mydnsconfig/web/ /var/www/mydnsconfig
فایل دیتابیس رو import میکنیم
اگر فایل از سایت اصلی گرفتین
mysql -u root -p mydns < install/mydnsconfig.sql
و اگر فایل منو گرفتی
for mysql v5
mysql -u dns -p dns < install/sqlv5/mydnsconfig.sql
or for mysql v4
mysql -u dns -p dns < install/sqlv4/ispconfig3db.sql
دیتابیسمون امدست (یاد برنامه آشپزی افتادم!) و باید MyDNSConfig رو کانفیگ کنیم تا با این دیتابیس کار کنه
nano /usr/share/mydnsconfig/lib/config.inc.php
این خطوط رو پیدا کنید
$conf["db_type"] = 'mysql';
$conf["db_host"] = 'localhost';
$conf["db_database"] = 'mydns';
$conf["db_user"] = 'mydns';
$conf["db_password"] = 'mydnspassword';
و بدین شکل تغییر بدین(فراموش نکنید که من طبق پارامترهایی که از اول با هم کانفیگ کردیم ,تنظیم کردم)
$conf["db_type"] = 'mysql';
$conf["db_host"] = 'localhost';
$conf["db_database"] = 'dns';
$conf["db_user"] = 'dns';
$conf["db_password"] = 'dns';
خوب Mydnsconfig آمادست و اگه دوست دارین میتونید از توی tmp پاکش کنی
cd /tmp
rm -rf MyDNSConfig-1.1.0/
rm -f MyDNSConfig-1.1.0.tar.gz
وقت نصب MyDNS رسیده و داره کم کم بوهای خوبی به مشاممون میرسه
apt-get install mydns-mysql
آره میدونم نصبش خیلی سخت بود!!! ولی توجه داشته باشید که حین نصب سوالاتی راجب دیتابیس ازتون میپرسه که باید مشخصات دیتابیسی که بالا ساختیم رو بدید....خنگ بازی در نیارینا!!
فایل کانفیگ MyDNS رو تنظیم میکنیم تا به TCPها هم گوش بده و بتونیم Zone transfer داشته باشیم
nano /etc/mydns.conf
allow-tcp = yes
کار ما تموم شد و کلاغه هم امیدوارم به خونش برسه
برای وصل شدن به سرور هر Browserای که عشقتونه باز کنید و بزنید
http://youserverip/mydnsconfig/
user=admin
pass=admin
پسورد هم عوض کنید که فردا نگید بلا ملا سرمون اومده
MyDns چند تا مشکل داره و البته بعضی جاها خوبی شمرده میشه :
DNS resolver نداره که اگه برای zoneای از قضاauthoritative نبود بتونه اون درخواست رو پاسخ بده(یعنی اگه خودش اون zone رو هاست نمیکنه دگه نمیتونه بره از dns serverهای دیگه پرس وجو کنه!!)
شاید بپرسن خوبیه این چیه که من گفتم...خوب معلومه گمپ گلم (من شیرازیما) شما اگه احتیاجی به resolve کردن دومین های دیگه ندارین , از شر کلی هکر و بچه هکر و....راحتین که دیگه نمیتونن از این طریق مشکلی براتون پیش بیارن
حالا ناراحت نشو اینم راه داره باید DNSMasq رو نصب کنیم
Create a DNS Resolver on IP 127.0.0.1:
apt-get install dnsmasq
برای اینکه هر دو(MyDns and dnsmasq) به یک 127.0.0.1گوش ندنو و تداخل پیش نیاد
nano /etc/dnsmasq.conf
listen-address=127.0.0.1
no-dhcp-interface=
bind-interfaces
حالو به mydns.conf میگیم به 127.0.0.1 گوش نده
nano /etc/mydns.conf
no-listen = 127.0.0.1
recursive = 127.0.0.1
/etc/resolv.conf/ ویرایش میکنیم
nano /etc/resolv.conf
این nameserver 127.0.0.1 رو به اولین خط اضافه میکنیم تا DNSMasq DNS-Cache برای همه local DNS queries استفاده بشه.
نکته » شما اگر 2 تا کارت شبکه یا بیشتر داشته باشین mydns فقط به eth0 گوش میده پس باید بگید که یه اونها گوش یده پسر خوب...چطوری؟اینجوری
توی mydns.conf باید ip کارت شبکه هاتون رو اضافه کنی
listen = 192.168.0.201,192.168.1.201
پس ما اینجا به mydns گفتیم که به 192.168.0.201 و 192.168.1.201 گوش بده و اگر برای اون درخواست authoritative نبود بره سراغ 127.0.0.1کهdnsmasq باش
استفاده از dig برای تست رکوردها :
1-تست Forward DNS record
d1:~# dig @192.168.0.201 reza.persianadmins.com
; <<>> DiG 9.2.4 <<>> @192.168.0.201 reza.persianadmins.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51758
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;reza.persianadmins.com. IN A
;; ANSWER SECTION:
reza.persianadmins.com. 86400 IN A 192.168.0.1
;; Query time: 159 msec
;; SERVER: 192.168.0.201#53(192.168.0.201)
;; WHEN: Sun Mar 11 07:31:56 2007
;; MSG SIZE rcvd: 56
2-تست reverse DNS record
d1:~# dig @192.168.0.201 -x 192.168.0.1
; <<>> DiG 9.2.4 <<>> @192.168.0.201 -x 192.168.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46405
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;1.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.168.192.in-addr.arpa. 86400 IN PTR reza.persianadmins.com.
;; Query time: 27 msec
;; SERVER: 192.168.0.201#53(192.168.0.201)
;; WHEN: Sun Mar 11 07:42:05 2007
;; MSG SIZE rcvd: 78
در هر دو فایلی که دانلود میکنید تمام مراحل بدقت توضیح داده شده پس میتونید دستورات رو از اونجا کپی کنید