یکی از خطاهای رایج در مدیریت سرویس DNS روی سرورهای لینوکسی، خطای rndc: connect failed: 127.0.0.1#953: connection refused است. این خطا معمولاً هنگام اجرای دستورات مدیریتی RNDC (Remote Name Daemon Control) ظاهر میشود و به معنی عدم برقراری ارتباط بین ابزار RNDC و سرویس اصلی BIND (Named) است.
به بیان سادهتر، زمانی که سرویس DNS در حال اجرا نباشد یا پیکربندی آن نادرست باشد، ابزار RNDC نمیتواند به پورت 953 در آدرس محلی 127.0.0.1 متصل شود. هدف این مقاله از بلاگ وبداده، ارائهی یک راهنمای گامبهگام برای رفع کامل این خطاست، بهگونهای که حتی کاربران مبتدی هم بتوانند با اطمینان مشکل را برطرف کنند.
💡 و اما در این مقاله به بررسی موارد زیر خواهیم پرداخت:
خطای rndc connect failed چیست و در چه شرایطی رخ میدهد؟
این خطا معمولاً زمانی ظاهر میشود که کاربر با سطح دسترسی root یا کاربر مدیریتی در محیط ترمینال لینوکس دستوراتی مانند rndc reload یا rndc status را اجرا میکند. در این شرایط، اگر سرویس Named (BIND DNS Server) غیرفعال باشد یا پیکربندی بین RNDC و Named ناهماهنگ باشد، پیغام connection refused در محیط SSH یا کنترلپنلهایی مانند cPanel و DirectAdmin نمایش داده میشود.
بررسی اولیه سرویس Named (Service Status Check)
اولین و مهمترین مرحله در رفع خطای rndc connect failed بررسی وضعیت سرویس Named است. در بسیاری از مواقع، دلیل بروز این خطا ساده است: سرویس DNS در حال اجرا نیست یا کرش کرده است.
دستورات بررسی وضعیت سرویس Service Status Check:
Copy
systemctlstatusnamed
یا در توزیعهای قدیمیتر:
Copy
servicenamedstatus
اگر سرویس فعال نبود، آن را با دستور زیر راهاندازی کنید:
Copy
systemctlstartnamed
در صورتی که سرویس به هر دلیل اجرا نمیشود، میتوانید لاگهای سیستم را برای یافتن علت بررسی کنید:
📌 نکته تخصصی: طبق آمار Red Hat در سال 2024، بیش از 60٪ موارد خطای Connection Refused مربوط به عدم اجرای سرویس BIND بوده است.
بررسی و تنظیم کلیدهای RNDC
اگر سرویس در حال اجراست ولی همچنان خطای connection refused مشاهده میشود، احتمالاً مشکل از کلید امنیتی RNDC است. Named و RNDC برای ارتباط از یک کلید مشترک استفاده میکنند که معمولاً در فایل /etc/rndc.key یا /etc/rndc.conf ذخیره شده است.
بررسی فایلهای تنظیمات:
فایل /etc/rndc.key را باز کنید و محتوای بخش key را بررسی کنید.
سپس در فایل /etc/named.conf مطمئن شوید که در بخش controls، همان نام کلید و مسیر فایل ذکر شده باشد.
اگر نام کلید یا مقدار secret متفاوت بود، آن را اصلاح کنید یا یک کلید جدید تولید کنید:
Copy
rndc-confgen-asystemctlrestartnamed
⚠️ هشدار: گاهی مدیران سرور کلید جدید تولید میکنند اما فایل قبلی را جایگزین نمیکنند. مطمئن شوید نسخه جدید فایل /etc/rndc.key در مالکیت root:named و با دسترسی مناسب ذخیره شده باشد.
بررسی مجوزها و مالکیت فایلها
گاهی خطای rndc به دلیل مجوزهای اشتباه فایلهای پیکربندی ایجاد میشود. Named باید بتواند فایل کلید را بخواند.
دستورات اصلاح مجوزها:
Copy
chownroot:named/etc/rndc.keychmod640/etc/rndc.key
برای اطمینان از عدم وجود خطای دسترسی:
Copy
ls-l/etc/rndc.key
اگر کاربر named مجوز خواندن نداشت، آن را اصلاح کنید.
بررسی وضعیت فایروال و SELinux
در موارد نادر، فایروال یا SELinux ممکن است مانع اتصال محلی RNDC به Named شود. برای اطمینان:
بررسی وضعیت پورت 953 در سرویس Named:
پورت 953 همان مسیری است که ارتباط بین سرویس Named و ابزار RNDC برقرار میشود. در صورت بروز خطای rndc connect failed، بررسی این پورت اهمیت بالایی دارد؛ چراکه اگر سرویس BIND در این پورت گوش ندهد، دستورهای مدیریتی RNDC با خطای connection refused مواجه میشوند.
Copy
netstat-tulnp|grep953
اگر خروجی خالی بود، یعنی سرویس Named روی پورت 953 گوش نمیدهد.
اگر در حالت enforcing است، موقتاً غیرفعال کنید و تست کنید:
Copy
setenforce0
مثال واقعی از خطای rndc connect failed (Case Study)
یکی از مدیران سیستم در سال 2025 در یک سرور CentOS 7 گزارش داد که پس از بروزرسانی خودکار، خطای rndc: connect failed دریافت میکند. بررسیها نشان داد که پس از آپدیت، فایل /etc/rndc.key بهصورت خودکار بازنویسی شده اما بخش controls در /etc/named.conf همچنان به کلید قدیمی ارجاع میداد. پس از همسانسازی نام و مسیر کلید و ریستارت سرویس، مشکل بهطور کامل رفع شد.
جدول مقایسه دلایل خطای rndc connect failed و راهحلها
این جدول به مدیران سرور کمک میکند تا درک دقیقی از منشأ خطای 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 رخ میدهد. با رعایت مراحل گفتهشده در این مقاله، میتوانید بهصورت سیستماتیک علت را شناسایی کرده و آن را رفع کنید.
مدیران سرور باید همواره پس از هر بهروزرسانی یا تغییر پیکربندی DNS، هماهنگی فایلهای RNDC و Named را بررسی کنند تا از بروز اختلال در عملکرد سرویسها جلوگیری شود.
سوالات متداول از 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.
من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپیرایتینگ و ارائه آموزشهای کاربردی، به ارتقای دانش و مهارت کاربران کمک میکنم. سالهاست که در زمینه هاستینگ و شبکه فعالیت میکنم و همواره تلاش دارم با بهروزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.