NETWORKMANAGER-WAIT-ONLINE(8) Network management daemons NETWORKMANAGER-WAIT-ONLINE(8)

NetworkManager-wait-online.service - انتظار برای برخط شدن شبکه

سرویس NetworkManager-wait-online یک سرویس یک‌باره (oneshot) در systemd است که رسیدن به تارگت network-online را تا زمانی که NetworkManager تکمیل راه‌اندازی را روی D-Bus گزارش کند، به تأخیر می‌اندازد.

هنگامی که سیستم بوت می‌شود، برای نمونه، نقاط اتصال راه دور تعریف‌شده در /etc/fstab، نیازمند برپا بودن شبکه هستند. برای این منظور، این واحدهای systemd حاوی تنظیم After=network-online.target هستند تا ترتیب اجرای خود را پس از این تارگت قرار دهند. سرویس NetworkManager-wait-online تضمین می‌کند که تارگت network-online تنها پس از در دسترس قرار گرفتن شبکه محقق شود.

در شرایط بهینه، تمامی سرویس‌های روی میزبان به تغییرات شبکه واکنش پویا نشان می‌دهند و نیازی نیست سرویس‌های systemd طوری پیکربندی شوند که پس از رسیدن به تارگت network-online شروع به کار کنند. در این صورت، سرویس NetworkManager-wait-online.service هیچ تأثیری نداشته و زمان بوت را به تأخیر نمی‌اندازد. از سوی دیگر، اگر به دلیل تأخیر NetworkManager-wait-online با زمان طولانی راه‌اندازی سیستم مواجه شدید، سرویس‌هایی را که نیاز به دسترسی به شبکه دارند بررسی کرده و آن‌ها را برطرف سازید.

به جز مقدار مهلت زمانی (timeout) در واحد NetworkManager-wait-online.service، شما نمی‌توانید این سرویس را پیکربندی کنید. در عوض، تنظیمات موجود در NetworkManager و نمایه‌های اتصال بر رفتار آن تأثیر می‌گذارند:

•تا زمانی که نمایه‌های NetworkManager در وضعیت فعال‌سازی (activating) باشند، راه‌اندازی کامل نشده است. هنگام بوت، NetworkManager نمایه‌های دارای تنظیم connection.autoconnect=yes را آغاز می‌کند. اگر فعال‌سازی با شکست مواجه شود، NetworkManager بسته به مقدار تنظیم connection.autoconnect-retries فعال‌سازی را مجدداً تکرار می‌کند.

هنگامی که همه نمایه‌ها و دستگاه‌ها فعال شده یا در وضعیت قطع اتصال (disconnect) باشند و هیچ رویداد دیگری انتظار نرود، NetworkManager اتمام راه‌اندازی را گزارش می‌دهد.

•زمان رسیدن یک دستگاه به وضعیت فعال به پیکربندی آن بستگی دارد. برای نمونه، در نمایه‌ای که هر دو پروتکل IPv4 و IPv6 در آن فعال هستند، NetworkManager به طور پیش‌فرض دستگاه را حتی زمانی که تنها یکی از خانواده‌های آدرس آماده باشد، کاملاً فعال‌شده در نظر می‌گیرد.

تنظیمات ipv4.may-fail و ipv6.may-fail این رفتار را کنترل می‌کنند. افزون بر این، تنظیمات زیر بر زمان تکمیل این دو خانواده آدرس تأثیر می‌گذارند: ipv4.required-timeout، ipv6.required-timeout، ipv4.dhcp-timeout و ipv6.ra-timeout. برای جزئیات بیشتر، به nm-settings-nmcli(5) مراجعه کنید.

•برنامه NetworkManager نمی‌تواند روی دستگاه‌های پل (bridge) و باند (bond) که دارای درگاه‌هایی با عدم فعال‌سازی خودکار هستند، آدرس‌های IP را تنظیم کند. به دلیل این خطای پیکربندی، NetworkManager-wait-online مسدود می‌شود تا زمانی که سرویس به مقدار مهلت زمانی (timeout) خود برسد.
•اسکریپت‌های توزیع‌کننده (dispatcher) برای رویداد pre-up در مراحل پایانی فعال‌سازی یک نمایه اجرا می‌شوند. این اسکریپت‌ها فعال‌سازی را تا زمانی که NetworkManager نمایه را کاملاً فعال‌شده در نظر بگیرد مسدود می‌کنند. برای جزئیات بیشتر، به NetworkManager-dispatcher(8) مراجعه کنید.
•ویژگی connection.wait-activation-delay یک تأخیر اضافی در طول فعال‌سازی اضافه کرده و اتمام راه‌اندازی را به تأخیر می‌اندازد. این تنظیم شرایطی را دور می‌زند که در آن مشخص است دستگاه برای مدت زمان معینی آماده نخواهد بود.
•ویژگی connection.wait-device-timeout در نمایه‌های اتصال باعث ایجاد تأخیر تا زمان ظاهر شدن دستگاه‌های در حال انتظار می‌شود. این گزینه زمانی سودمند است که درایور برای شناسایی رابط‌های شبکه به زمان بیشتری نیاز دارد. این تنظیم مشابه ویژگی connection.gateway-ping-timeout است.
•در دستگاه‌های Wi-Fi، برنامه NetworkManager باید منتظر نخستین نتیجه پویش بماند تا بداند چه شبکه‌هایی در دسترس هستند. این امر موجب ایجاد تأخیر می‌شود.
•در دستگاه‌های اترنت (Ethernet)، برنامه NetworkManager تا زمان رسیدن به مقدار تعیین‌شده در [device*].carrier-wait-timeout منتظر حامل (carrier) می‌ماند. دلیل آن این است که برخی دستگاه‌ها برای تشخیص حامل به زمان زیادی نیاز دارند. در نتیجه، بوت کردن سیستم با کابل کشیده‌شده، سرویس NetworkManager-wait-online.service را بدون لزوم به تأخیر می‌اندازد.

لطفاً هرگونه اشکال در NetworkManager را در سامانه ردیابی مشکلات NetworkManager[1] گزارش دهید.

صفحه خانگی NetworkManager[2]، NetworkManager(8)، nm-online(1)، توضیحات network-online.target در systemd.special(7)

1.
سامانه ردیابی مشکلات NetworkManager
2.
صفحه خانگی NetworkManager
NetworkManager-wait-online