ترا سرور


ارائه دهنده خدمات سرور اختصاصی , سرور مجازی , هاست میزبانی , هاست دانلود , ثبت دامنه
مشاوره :
09199763827
همین حالا تماس بگیرید

مشکل در سرویس named

گاهی سرویس named  فعال می باشد اما درخواست های ارسالی به سرور پاسخ دریافت نمی کنند.

برای بررسی این مشکل ابتدا دستور زیر را اجرا نمایید:

    
netstat -lnp | grep named

در خروجی باید تمام IP  های سرور را مشاهده نمایید که به پروت 53 گوش می دهند. در صورتی که چنین نبود باید فایل زیر را ویرایش نمایید:

    
nano /etc/named.conf

توجه داشته باشید عبارت زیر وجود داشته باشد:

    
allow-query     { localhost; };
recursion no;

و دو خط زیر غیرفعال باشند:

    
//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };

پورت 53 در فایروال باید باز باشد.

در پایان دستورات زیر را اجرا نمایید:

    
/etc/init.d/iptables stop
/sbin/chkconfig iptables off

برای تنظیم دوباره named.conf  بصورت زیر عمل کنید:

    
cd /etc
cp named.conf named.conf.BAK
wget -O /etc/named.conf http://www.directadmin.com/named.conf
for i in `cat /etc/virtual/domains`; do { echo “zone \”$i\” { type master; file \”/var/named/$i.db\”; };”; };
done; >> /etc/named.conf

در صورت عدم رفع مشکل ابتدا bind  را حذف نمایید.

    
yum remove bind

 ومجدد نصب نمایید:

    
yum install bind

سپس کد زیر را در فایلی به نام fix.sh  ذخیره نمایید و پرمیژن آن را 755 قرار دهید.

#!/bin/sh

NAMED_DIR=/var/named
DA_USERS_DIR=/usr/local/directadmin/data/users
NS1=`grep ns1= /usr/local/directadmin/conf/directadmin.conf | cut -d= -f2`
NS2=`grep ns2= /usr/local/directadmin/conf/directadmin.conf | cut -d= -f2`

for DA_USER in `ls ${DA_USERS_DIR}`; do
{
          for DOMAIN in `cat ${DA_USERS_DIR}/${DA_USER}/domains.list; cat ${DA_USERS_DIR}/${DA_USER}/domains/*.pointers 2>/dev/null | cut -d= -f1;`; do
          {
                    echo $DOMAIN
                    rm ${NAMED_DIR}/${DOMAIN}.db

                    if [ ! -r “${NAMED_DIR}/${DOMAIN}.db” ]; then
                              IP=`cat ${DA_USERS_DIR}/${DA_USER}/domains/${DOMAIN}.conf | grep ip= | cut -d= -f2`
                              echo “\$TTL 14400”  >  ${NAMED_DIR}/${DOMAIN}.db
                              echo “@         IN      SOA     ${NS1}.         hostmaster.${DOMAIN}. (”        >> ${NAMED_DIR}/${DOMAIN}.db
                              echo ”                                                          2010101901″                     >> ${NAMED_DIR}/${DOMAIN}.db
                              echo ”                                                          14400″                          >> ${NAMED_DIR}/${DOMAIN}.db
                              echo ”                                                          3600″                           >> ${NAMED_DIR}/${DOMAIN}.db
                              echo ”                                                          1209600″                        >> ${NAMED_DIR}/${DOMAIN}.db
                              echo ”                                                          86400 )”                        >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “”                                                                                         >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “${DOMAIN}.        14400   IN              NS      ${NS1}.”                >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “${DOMAIN}.        14400   IN              NS      ${NS2}.”                >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “”  >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “${DOMAIN}.        14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “ftp               14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “localhost         14400   IN              A       127.0.0.1”                              >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “mail              14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “pop               14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “smtp              14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “www               14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “”  >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “${DOMAIN}.        14400   IN              MX      10 mail”                                >> ${NAMED_DIR}/${DOMAIN}.db
                              echo “${DOMAIN}.        14400   IN              TXT     \”v=spf1 a mx ip4:${IP} ~all\””    >> ${NAMED_DIR}/${DOMAIN}.db

                              echo “”  >> ${NAMED_DIR}/${DOMAIN}.db

                              for SUB in `cat ${DA_USERS_DIR}/${DA_USER}/domains/${DOMAIN}.subdomains`; do
                              {
                                echo “${SUB}              14400   IN              A       ${IP}”                             >> ${NAMED_DIR}/${DOMAIN}.db
                              }
                              done;

                              chown bind:bind ${NAMED_DIR}/${DOMAIN}.db

                              echo ”  – database created.”

                    fi
          }
          done;
}
done;

سپس آن را اجرا نمایید:

    
sh fix.sh

موفق باشید…

  teraserver.ir  :منبع
برچسب ها : ، ، ، ،
برای دریافت آخرین اخبار سایت و پیشنهادات به لینک زیر مراجعه کنید
اخبار ترا سرور