اگر هنگام روشنشدن Ubuntu یا یک سرور لینوکسی پیام A Start Job Is Running for Wait for Network را میبینید و Boot برای چند ثانیه یا حتی حدود دو دقیقه متوقف میشود، معمولاً یکی از Interfaceهای شبکه به وضعیت مورد انتظار نمیرسد. ممکن است کابل یا Carrier وجود نداشته باشد، DHCP پاسخ ندهد، یک Interface غیرضروری Required تعریف شده باشد یا NetworkManager منتظر تکمیل یک Connection Profile بماند.
راهحل سریع: اول مشخص کنید شبکه توسط systemd-networkd مدیریت میشود یا NetworkManager. اگر networkd فعال است، با networkctl Interface گیرکرده را پیدا کنید و اگر برای Boot ضروری نیست در Netplan مقدار optional: true قرار دهید. اگر NetworkManager فعال است، Connectionهای در حال Activation و تنظیمات Carrier/DHCP را بررسی کنید.
پیام A Start Job Is Running for Wait for Network یعنی چه؟
در زمان Boot، بعضی سرویسها نیاز دارند شبکه قبل از اجرای آنها آماده باشد. systemd برای این موضوع از network-online.target استفاده میکند.
بسته به Network Backend، یکی از این سرویسها ممکن است منتظر شبکه باشد:
🔹 systemd-networkd-wait-online.service
🔹 NetworkManager-wait-online.service
بنابراین قبل از هر تغییری باید مشخص کنیم کدام سرویس واقعاً Boot را معطل کرده است.
مرحله ۱: پیدا کردن سرویس کندکننده Boot
systemd-analyze blame
اگر چیزی شبیه این دیدید:
2min systemd-networkd-wait-online.service
مشکل از مسیر systemd-networkd است.
اگر این مورد را دیدید:
NetworkManager-wait-online.service
باید تنظیمات NetworkManager را بررسی کنید.
مرحله ۲: Renderer شبکه را مشخص کنید
sudo netplan get
اگر چنین چیزی دیدید:
renderer: networkd
راهحلهای بخش systemd-networkd را دنبال کنید.
اگر:
renderer: NetworkManager
بخش NetworkManager برای شما مرتبط است.
روش اول: رفع مشکل در systemd-networkd
وضعیت Interfaceها را ببینید:
networkctl
نمونه:
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eth0 ether routable configured
3 eth1 ether no-carrier configuring
در این مثال eth1 میتواند باعث انتظار Boot شود.
راهحل پیشنهادی: optional: true
اگر Interface دوم برای بالا آمدن سرور ضروری نیست، فایل Netplan را باز کنید:
ls -l /etc/netplan/
sudo nano /etc/netplan/01-netcfg.yaml
مثال:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
eth1:
dhcp4: true
optional: true
در Netplan، Device دارای optional: true برای ادامه Boot ضروری نیست و networkd منتظر آمادهشدن آن نمیماند. :chatgpt-content-reference{index=”1″}
⚠️ نام فایل Netplan در هر سرور ممکن است متفاوت باشد. فایل موجود در /etc/netplan/ را ویرایش کنید و نام Interface را نیز دقیقاً از خروجی ip link یا networkctl بردارید.
قبل از Apply کردن Netplan
sudo netplan generate
روی VPS Remote بهتر است بهجای Apply مستقیم از:
sudo netplan try
استفاده کنید.
راهحل مستقیم systemd-networkd: RequiredForOnline=no
اگر Netplan استفاده نمیکنید و فایل .network را مستقیم مدیریت میکنید:
[Match]
Name=eth1
[Network]
DHCP=yes
RequiredForOnline=no
RequiredForOnline=no باعث میشود این Link هنگام تعیین وضعیت Online سیستم نادیده گرفته شود. :chatgpt-content-reference{index=”2″}
اگر فقط یک Interface باید Online شود
systemd امکان انتظار برای Interface مشخص را هم دارد:
systemd-networkd-wait-online@eth0.service
این نسخه فقط Interface مشخصشده را برای Online شدن بررسی میکند. :chatgpt-content-reference{index=”3″}
گزینه –any برای چند Interface
اگر چند Interface دارید و Online شدن یکی از آنها برای ادامه Boot کافی است، systemd گزینه:
--any
را ارائه میدهد. این گزینه مخصوصاً برای سیستمهایی مفید است که بعضی Interfaceها هنگام Boot ممکن است Carrier نداشته باشند. :chatgpt-content-reference{index=”4″}
VPS بعد از Reboot دیر بالا میآید؟
در سرورهایی با چند کارت شبکه، Private Network، Tunnel یا تنظیمات Netplan سفارشی، یک Interface غیرضروری میتواند Boot را تا پایان Timeout متوقف کند. بهتر است Required و Optional بودن Interfaceها دقیق مشخص شود.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467
روش دوم: اگر NetworkManager عامل Wait for Network است
NetworkManager سرویس جداگانهای به نام:
NetworkManager-wait-online.service
دارد. این سرویس رسیدن سیستم به network-online.target را تا زمانی که NetworkManager Startup را کامل اعلام کند عقب میاندازد. :chatgpt-content-reference{index=”5″}
وضعیت را بررسی کنید:
systemctl status NetworkManager-wait-online.service --no-pager
nmcli device status
nmcli connection show
Interface بدون کابل در NetworkManager
NetworkManager برای Ethernet ممکن است منتظر Carrier بماند. اگر کابل متصل نیست یا Interface مجازی در Boot آماده نمیشود، همین انتظار میتواند Boot را طولانی کند. مستندات NetworkManager نیز به تأخیر ناشی از Carrier Wait اشاره میکنند. :chatgpt-content-reference{index=”6″}
وضعیت Device:
nmcli device status
Connection Profileهای در حال Activation را بررسی کنید
nmcli connection show --active
nmcli connection show
NetworkManager Startup را تا زمانی که Profileهای Auto-connect در حال Activation هستند کامل در نظر نمیگیرد. Retryهای Auto-connect، DHCP Timeout، IPv6 و Carrier میتوانند این زمان را افزایش دهند. :chatgpt-content-reference{index=”7″}
IPv4 یا IPv6 میتواند عامل تأخیر باشد؟
بله. در NetworkManager تنظیمات:
ipv4.may-fail
ipv6.may-fail
تعیین میکنند آیا آماده نشدن یکی از Address Familyها مانع Activated شدن Connection شود یا نه. :chatgpt-content-reference{index=”8″}
آیا Wait Online را Mask کنیم؟
این یکی از راهحلهایی است که زیاد در اینترنت دیده میشود:
sudo systemctl mask systemd-networkd-wait-online.service
یا برای NetworkManager:
sudo systemctl mask NetworkManager-wait-online.service
⚠️ این کار را بهعنوان اولین راهحل انجام ندهید. Remote Mountها، Applicationهای وابسته به شبکه، Backup Serviceها یا سرویسهایی که صریحاً به network-online.target وابستهاند ممکن است قبل از آمادهشدن شبکه اجرا شوند و Fail کنند.
چه سرویسهایی به network-online.target وابستهاند؟
systemctl list-dependencies network-online.target
قبل از Disable یا Mask کردن Wait Online این خروجی را بررسی کنید.
Timeout 120 ثانیه از کجا میآید؟
در systemd-networkd-wait-online گزینه –timeout= برای تعیین بیشترین زمان انتظار وجود دارد و مقدار پیشفرض آن ۱۲۰ ثانیه است. :chatgpt-content-reference{index=”9″}
بنابراین اگر Boot تقریباً دو دقیقه روی Wait for Network متوقف میشود، این نشانه بسیار خوبی است که یکی از Linkهای Required به وضعیت لازم نمیرسد.
کمکردن Timeout بهتر است یا رفع Interface؟
رفع Interface تقریباً همیشه انتخاب بهتری است.
اگر یک Interface بلااستفاده باعث انتظار میشود، Optional کردن آن مشکل اصلی را حل میکند. کاهش Timeout فقط باعث میشود همان مشکل زودتر Timeout شود.
بررسی Logهای systemd-networkd
journalctl -u systemd-networkd -b --no-pager
دنبال پیامهایی درباره DHCP، Address Configuration، Carrier و Interfaceهای Failed بگردید.
بررسی Logهای NetworkManager
journalctl -u NetworkManager -b --no-pager
تست نهایی بعد از اصلاح
بعد از اصلاح Netplan یا NetworkManager، ابتدا شبکه را بررسی کنید:
ip address
ip route
اگر networkd دارید:
networkctl
سپس در زمان مناسب Reboot کنید:
sudo reboot
بعد از Boot:
systemd-analyze blame
جدول تشخیص سریع
| نشانه | راهحل اولیه |
|---|---|
| Boot حدود ۱۲۰ ثانیه معطل است | بررسی systemd-networkd-wait-online |
| Interface دوم no-carrier است | optional: true |
| DHCP روی Interface گیر کرده | بررسی DHCP و networkd Log |
| NetworkManager عامل تأخیر است | بررسی nmcli، Carrier و Profileها |
| فقط یک کارت شبکه ضروری است | محدودکردن Wait به Interface اصلی |
پرسشهای متداول
A Start Job Is Running for Wait for Network چیست؟
پیامی از systemd هنگام Boot است که نشان میدهد سیستم منتظر آمادهشدن شبکه یا کاملشدن Startup سرویس مدیریت شبکه مانده است.
چرا این پیام حدود دو دقیقه طول میکشد؟
اگر systemd-networkd-wait-online عامل انتظار باشد، Timeout پیشفرض آن ۱۲۰ ثانیه است.
آیا optional: true کارت شبکه را خاموش میکند؟
خیر. فقط باعث میشود آمادهشدن آن Interface شرط ادامه Boot نباشد.
چطور بفهمیم NetworkManager یا networkd فعال است؟
خروجی netplan get و وضعیت سرویسهای systemd را بررسی کنید. Renderer در Netplan معمولاً مشخص میکند Backend اصلی چیست.
آیا Mask کردن wait-online خطرناک است؟
ممکن است. سرویسهای وابسته به network-online.target احتمال دارد قبل از آمادهشدن واقعی شبکه اجرا شوند.
بهترین راه رفع این مشکل چیست؟
Interface یا Connection مشکلدار را پیدا کنید و Required بودن آن برای Boot را اصلاح کنید؛ نه اینکه صرفاً کل Wait Online را غیرفعال کنید.
منابع رسمی
🔹 systemd-networkd-wait-online manual
🔹 Netplan optional documentation
🔹 NetworkManager-wait-online documentation
جمعبندی
اگر Linux هنگام Boot روی A Start Job Is Running for Wait for Network گیر میکند، اول Backend فعال شبکه را مشخص کنید. در systemd-networkd معمولاً یک Interface Required ولی بدون Carrier یا DHCP عامل مشکل است و optional: true میتواند راهحل تمیزی باشد. در NetworkManager نیز Profileهای در حال Activation، Carrier، DHCP و تنظیمات IPv4/IPv6 باید بررسی شوند. Mask کردن Wait Online را فقط بعد از بررسی وابستگیهای network-online.target انجام دهید.
سرور هنوز روی Wait for Network گیر میکند؟
اگر VPS چند Interface، Private Network، Netplan سفارشی یا NetworkManager Profile پیچیده دارد، میتوانید برای بررسی Boot Log و تنظیمات شبکه درخواست فنی ثبت کنید.
تماس با پشتیبانی ایرانیکاسرور: 021-91302467






دیدگاهها (۰)