
به اشتراک بگذارید
rndc: connect failed: 127.0.0.1#953: connection refused است. این خطا معمولاً هنگام اجرای دستورات مدیریتی RNDC (Remote Name Daemon Control) ظاهر میشود و به معنی عدم برقراری ارتباط بین ابزار RNDC و سرویس اصلی BIND (Named) است.- بررسی وضعیت سرویس Named و اطمینان از اجرای آن
- بررسی تنظیمات کلیدهای RNDC و همسانسازی با Named
- بررسی سطح دسترسی و مالکیت فایلهای پیکربندی
- تحلیل وضعیت فایروال و SELinux
- ارائه مثال واقعی از خطا و نحوه رفع آن
آنچه در این مقاله میخوانید:
خطای rndc connect failed چیست و در چه شرایطی رخ میدهد؟
rndc reload یا rndc status را اجرا میکند. در این شرایط، اگر سرویس Named (BIND DNS Server) غیرفعال باشد یا پیکربندی بین RNDC و Named ناهماهنگ باشد، پیغام connection refused در محیط SSH یا کنترلپنلهایی مانند cPanel و DirectAdmin نمایش داده میشود.
بررسی اولیه سرویس Named (Service Status Check)
دستورات بررسی وضعیت سرویس Service Status Check:
systemctl status named service named status systemctl start named journalctl -xe | grep named
cat /var/log/messages | grep named بررسی و تنظیم کلیدهای RNDC
/etc/rndc.key یا /etc/rndc.conf ذخیره شده است.بررسی فایلهای تنظیمات:
- فایل
/etc/rndc.keyرا باز کنید و محتوای بخشkeyرا بررسی کنید. - سپس در فایل
/etc/named.confمطمئن شوید که در بخشcontrols، همان نام کلید و مسیر فایل ذکر شده باشد.
key "rndc-key" {
algorithm hmac-sha256;
secret "xxxxxxxxxxxxxxxx";
};
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
}; rndc-confgen -a
systemctl restart named /etc/rndc.key در مالکیت root:named و با دسترسی مناسب ذخیره شده باشد.بررسی مجوزها و مالکیت فایلها
chown root:named /etc/rndc.key
chmod 640 /etc/rndc.key ls -l /etc/rndc.key named مجوز خواندن نداشت، آن را اصلاح کنید.بررسی وضعیت فایروال و SELinux
بررسی وضعیت پورت 953 در سرویس Named:
netstat -tulnp | grep 953 بررسی فایروال:
firewall-cmd --list-all | grep 953
iptables -L -n | grep 953 firewall-cmd --permanent --add-port=953/tcp
firewall-cmd --reload بررسی SELinux:
sestatus setenforce 0 
مثال واقعی از خطای rndc connect failed (Case Study)
rndc: connect failed دریافت میکند. بررسیها نشان داد که پس از آپدیت، فایل /etc/rndc.key بهصورت خودکار بازنویسی شده اما بخش controls در /etc/named.conf همچنان به کلید قدیمی ارجاع میداد. پس از همسانسازی نام و مسیر کلید و ریستارت سرویس، مشکل بهطور کامل رفع شد.جدول مقایسه دلایل خطای rndc connect failed و راهحلها
| علت خطا | توضیح | راهحل پیشنهادی |
|---|---|---|
| سرویس Named خاموش است | معمولترین علت خطا | اجرای systemctl start named |
| کلید RNDC ناهماهنگ است | عدم تطابق key بین فایلها | اجرای rndc-confgen -a و همسانسازی پیکربندی |
| مجوز فایل اشتباه است | سرویس قادر به خواندن کلید نیست | اجرای chown root:named /etc/rndc.key |
| پورت 953 مسدود است | فایروال اتصال را قطع کرده | افزودن rule به firewalld |
| SELinux مانع ارتباط است | حالت enforcing محدودکننده است | غیرفعالسازی موقت SELinux |
⚙️ توصیههای کلیدی برای مدیران سرور در رفع خطای خطای rndc
- همیشه پس از تغییر در فایلهای پیکربندی، سرویس را ریستارت کنید:
systemctl restart named - وضعیت ارتباط RNDC را تست کنید:
rndc status - در محیطهای تولید، از فایلهای پشتیبان
/etc/named.confو/etc/rndc.keyنسخه بکاپ داشته باشید. - اگر از سیستمهای مبتنی بر cPanel یا DirectAdmin استفاده میکنید، مسیر فایلها ممکن است متفاوت باشد (مانند
/etc/named.conf.local).
نتیجهگیری:خطای اتصال رد شد
rndc: connect failed: 127.0.0.1#953: connection refused یکی از متداولترین مشکلات DNS در لینوکس است که در بیشتر مواقع به دلیل خاموش بودن سرویس Named یا کلیدهای ناهماهنگ RNDC رخ میدهد. با رعایت مراحل گفتهشده در این مقاله، میتوانید بهصورت سیستماتیک علت را شناسایی کرده و آن را رفع کنید.سوالات متداول از rndc connect failed
1- چرا خطای rndc connect failed حتی بعد از ریستارت سرویس ادامه دارد؟
زیرا احتمال دارد کلید RNDC در فایل named.conf با فایل rndc.key هماهنگ نباشد.
2- آیا حذف و تولید مجدد کلید RNDC خطرناک است؟
خیر، در صورتی که تنظیمات جدید را در فایل named.conf اعمال کنید، مشکلی ایجاد نمیکند.
3- آیا میتوان RNDC را روی پورت دیگری اجرا کرد؟
بله، ولی باید پیکربندی controls را در named.conf مطابق پورت جدید تغییر دهید.
4- ارتباط رد شد (connection refused) یعنی چه؟
یعنی کلاینت نتوانسته به پورت 953 در 127.0.0.1 متصل شود، معمولاً به دلیل سرویس غیرفعال یا پیکربندی اشتباه.
5- آیا SELinux روی این خطا تأثیر دارد؟
در حالت enforcing ممکن است مانع دسترسی محلی شود. میتوانید برای تست آن را موقتاً غیرفعال کنید.
6- چگونه بفهمم Named به درستی در حال گوش دادن است؟
با دستور ss -tulnp | grep named وضعیت پورتها را بررسی کنید.
7- اگر از WHM/cPanel استفاده کنم چه کنم؟
در این پنلها از رابط گرافیکی DNS Functions میتوانید سرویس را ریستارت کنید.
8- آیا این خطا امنیت سرور را تهدید میکند؟
خیر، اما ممکن است باعث قطع عملکرد DNS شود و کاربران به دامنهها دسترسی نداشته باشند.
9- چطور بفهمم فایل rndc.key خراب شده؟
اگر خروجی rndc status خطای parse داد، یعنی فایل کلید فرمت اشتباهی دارد.
10- در سیستمهای Debian/Ubuntu مسیر فایلها کجاست؟
معمولاً /etc/bind/rndc.key و /etc/bind/named.conf.



