NETWORKCTL(1) networkctl NETWORKCTL(1)

networkctl - بررسی وضعیت پیوندهای شبکه در systemd-networkd

networkctl [OPTIONS...] COMMAND [LINK...]

networkctl ممکن است برای استعلام یا تغییر وضعیت پیوندهای شبکه از دید systemd-networkd استفاده شود. لطفاً برای آشنایی با مفاهیم پایه‌ای، عملکردها و ساختار نگارش پیکربندی به systemd-networkd.service(8) مراجعه کنید.

دستورات زیر پشتیبانی می‌شوند:

list [PATTERN...]

نمایش فهرستی از پیوندهای موجود و وضعیت آن‌ها. اگر یک یا چند PATTERN مشخص شده باشد، تنها پیوندهایی که با یکی از آن‌ها تطابق دارند نمایش داده می‌شوند. اگر هیچ آرگومان دیگری مشخص نشود، همه پیوندها نمایش داده می‌شوند، در غیر این صورت فقط پیوندهای مشخص‌شده. خروجی‌ای مشابه زیر تولید می‌کند:
IDX LINK         TYPE     OPERATIONAL SETUP
  1 lo           loopback carrier     unmanaged
  2 eth0         ether    routable    configured
  3 virbr0       ether    no-carrier  unmanaged
  4 virbr0-nic   ether    off         unmanaged
4 links listed.

وضعیت عملیاتی یکی از موارد زیر است:

missing

دستگاه وجود ندارد (مفقود است).

افزوده‌شده در نسخه 245.

off

دستگاه خاموش است.

افزوده‌شده در نسخه 240.

no-carrier

دستگاه روشن است، اما هنوز حامل (carrier) ندارد.

افزوده‌شده در نسخه 240.

dormant

دستگاه دارای حامل است، اما هنوز برای ترافیک عادی آماده نیست.

افزوده‌شده در نسخه 240.

degraded-carrier

یکی از رابط‌های شبکه اسلیوِ پیوند (bonding) یا پل (bridge) در وضعیت off، no-carrier یا dormant است، و رابط اصلی (master) آدرسی ندارد.

افزوده‌شده در نسخه 242.

carrier

پیوند دارای حامل است، یا برای رابط اصلی باند یا بریج، تمام رابط‌های شبکه اسلیو به رابط اصلی متصل (enslaved) هستند.

افزوده‌شده در نسخه 240.

degraded

پیوند دارای حامل است و آدرس‌های معتبر روی پیوند محلی پیکربندی شده‌اند. برای رابط اصلی باند یا بریج، این بدان معناست که همه رابط‌های شبکه اسلیو دارای حامل نیستند، اما دست‌کم یکی دارای حامل است.

افزوده‌شده در نسخه 240.

enslaved

پیوند دارای حامل است و به رابط شبکه اصلی باند یا بریج متصل شده است.

افزوده‌شده در نسخه 242.

routable

پیوند دارای حامل است و آدرس قابل مسیریابی پیکربندی شده دارد. برای رابط اصلی باند یا بریج، نیازی نیست همه رابط‌های اسلیو دارای حامل باشند، اما دست‌کم یکی باید باشد.

افزوده‌شده در نسخه 240.

وضعیت راه‌اندازی (setup) یکی از موارد زیر است:

pending

systemd-udevd(8) همچنان در حال پردازش پیوند است؛ هنوز مشخص نیست که آیا آن را مدیریت خواهیم کرد یا خیر.

افزوده‌شده در نسخه 240.

initialized

systemd-udevd(8) پیوند را پردازش کرده است، اما هنوز مشخص نیست که آیا آن را مدیریت خواهیم کرد یا خیر.

افزوده‌شده در نسخه 251.

configuring

پیکربندی پیوند در حال دریافت است یا پیوند در حال پیکربندی می‌باشد.

افزوده‌شده در نسخه 240.

configured

پیوند با موفقیت پیکربندی شده است.

افزوده‌شده در نسخه 240.

unmanaged

systemd-networkd پیوند را مدیریت نمی‌کند.

افزوده‌شده در نسخه 240.

failed

systemd-networkd در پیکربندی پیوند ناموفق بود.

افزوده‌شده در نسخه 240.

linger

پیوند از دست رفته است، اما هنوز توسط systemd-networkd رها نشده است.

افزوده‌شده در نسخه 240.

افزوده‌شده در نسخه 219.

status [PATTERN...]

نمایش اطلاعات درباره پیوندهای مشخص‌شده: نوع، وضعیت، درایور ماژول هسته، نشانی سخت‌افزاری و IP، سرورهای DNS پیکربندی‌شده و غیره. اگر یک یا چند PATTERN مشخص شده باشد، تنها پیوندهایی که با یکی از آن‌ها مطابقت دارند نمایش داده می‌شوند.

هنگامی که هیچ پیوندی مشخص نشده باشد، یک وضعیت کلی از شبکه نمایش داده می‌شود. همچنین گزینه --all را ببینید.

خروجی‌ای مشابه زیر تولید می‌کند:

●        State: routable
  Online state: online
       Address: 10.193.76.5 on eth0
                192.168.122.1 on virbr0
                169.254.190.105 on eth0
                fe80::5054:aa:bbbb:cccc on eth0
       Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0
           DNS: 8.8.8.8
                8.8.4.4

در وضعیت کلی شبکه، وضعیت برخط بودن به وضعیت برخط بودن تک‌تک پیوندهای مورد نیاز بستگی دارد. پیوندهای تحت مدیریت به‌طور پیش‌فرض برای برخط بودن لازم هستند. در این حالت، وضعیت آنلاین یکی از موارد زیر است:

unknown

همه پیوندها دارای وضعیت آنلاین نامشخص هستند (یعنی هیچ پیوند الزامی وجود ندارد).

افزوده‌شده در نسخه 249.

offline

تمامی پیوندهای لازم آفلاین (برون‌خط) هستند.

افزوده‌شده در نسخه 249.

partial

برخی از پیوندهای لازم، اما نه همه آن‌ها، آنلاین (برخط) هستند.

افزوده‌شده در نسخه 249.

online

تمامی پیوندهای لازم آنلاین (برخط) هستند.

افزوده‌شده در نسخه 249.

افزوده‌شده در نسخه 219.

dhcp-lease INTERFACE [CODE[:FORMAT]] ...

نمایش پیام DHCP اجاره دریافت‌شده (یعنی پیام DHCPACK دریافت شده). یک نام رابط و کدهای اختیاری گزینه DHCP را دریافت می‌کند. اگر کد گزینه‌ای مشخص نشود، هم هدر پیام DHCP و هم تمام گزینه‌ها نمایش داده می‌شوند. اگر یک یا چند کد گزینه مشخص شود، فقط گزینه‌های مشخص‌شده نمایش داده می‌شوند.

هنگامی که با گزینه --json= فراخوانی شود، کل پیام DHCP در قالب JSON نمایش داده می‌شود. در این حالت، هر کد گزینه مشخص‌شده نادیده گرفته می‌شود.

به‌طور پیش‌فرض، هر گزینه بسته به نوع آن در قالبی خوانا برای انسان نمایش داده می‌شود. برای نمونه، نشانی‌های سرور DNS به‌صورت فهرستی از آدرس‌های IP (مانند "192.0.2.1") نمایش داده می‌شوند، و زمان اجاره (lease time) به‌صورت مدت‌زمانی خوانا برای انسان (مانند "8h") نشان داده می‌شود.

هر کد گزینه می‌تواند به‌طور اختیاری با یک قالب‌بند (formatter) که با دو نقطه جدا شده دنبال شود (مانند "42:address"). این مورد زمانی مفید است که قالب‌بندی پیش‌فرض مناسب نباشد.

قالب‌بندهای زیر پشتیبانی می‌شوند:

auto

استفاده از قالب‌بندی پیش‌فرض.

hex

نمایش بایت‌های خام در مبنای شانزده (هگزادسیمال)، جدا شده با دو نقطه.

flag

در نظر گرفتن گزینه به‌عنوان داده با طول صفر و نمایش "yes".

bool

در نظر گرفتن گزینه به‌عنوان بولی ۱ بایتی و نمایش "yes" یا "no".

uint8

در نظر گرفتن گزینه به‌عنوان عدد صحیح بدون علامت ۱ بایتی.

uint16

در نظر گرفتن گزینه به‌عنوان عدد صحیح بدون علامت ۲ بایتی.

time

در نظر گرفتن گزینه به‌عنوان مقدار زمان ۴ بایتی بر حسب ثانیه و نمایش آن به‌صورت مدت‌زمانی خوانا برای انسان.

string

در نظر گرفتن گزینه به‌عنوان یک رشته متنی.

address

در نظر گرفتن گزینه به‌عنوان یک یا چند نشانی IPv4 و نمایش آن‌ها در قالبی خوانا برای انسان.

خروجی‌ای مشابه زیر تولید می‌کند:

$ networkctl dhcp-lease eth0
Header:
              KEY VALUE
   Hardware Type: ETHER
Hardware Address: 41:42:43:31:32:33
  Client Address: 192.0.2.123
  Server Address: 192.0.2.1
Options:
CODE NAME               DATA
   1 subnet mask        255.255.255.0
   3 router             192.0.2.1
   6 domain name server 192.0.2.1
  12 hostname           test-node
  15 domain name        lan
  28 broadcast address  192.0.2.255
  42 NTP server         192.0.2.11
                        192.0.2.12
  51 lease time         1d
  53 message type       5
  54 server identifier  192.0.2.1
  58 renewal time       11h 5min 38s
  59 rebinding time     20h 5min 38s
 119 domain search      hoge.example.com
                        foo.example.com

افزوده‌شده در نسخه 261.

lldp [PATTERN...]

نمایش همسایگان کشف‌شده LLDP (پروتکل کشف پیوند لایه یا Link Layer Discovery Protocol). اگر یک یا چند PATTERN مشخص شده باشد، تنها همسایگان روی آن رابط‌ها نمایش داده می‌شوند. در غیر این صورت، همسایگان کشف‌شده روی تمام رابط‌ها را نشان می‌دهد. توجه داشته باشید که برای کارکرد این قابلیت، LLDP= باید برای رابط مربوطه فعال شده باشد؛ برای جزئیات به systemd.network(5) مراجعه کنید.

خروجی‌ای مشابه زیر تولید می‌کند:

LINK    SYSTEM-NAME SYSTEM-DESCRIPTION CHASSIS-ID        PORT-ID PORT-DESCRIPTION CAPS
enp0s25 GS1900      -                  00:e0:4c:00:00:00 2       Port #2           ..b........
Capability Flags:
o - Other; p - Repeater;  b - Bridge; w - WLAN Access Point; r - Router;
t - Telephone; d - DOCSIS cable device; a - Station; c - Customer VLAN;
s - Service VLAN, m - Two-port MAC Relay (TPMR)
1 neighbor(s) listed.

افزوده‌شده در نسخه 219.

label

نمایش برچسب‌های عددی آدرس که می‌توانند برای انتخاب آدرس استفاده شوند. این همان اطلاعاتی است که ip-addrlabel(8) نمایش می‌دهد. برای بررسی برچسب‌های آدرس به RFC 3484[1] مراجعه کنید.

خروجی‌ای مشابه زیر تولید می‌کند:

Prefix/Prefixlen                          Label
        ::/0                                  1
    fc00::/7                                  5
    fec0::/10                                11
    2002::/16                                 2
    3ffe::/16                                12
 2001:10::/28                                 7
    2001::/32                                 6
::ffff:0.0.0.0/96                             4
        ::/96                                 3
       ::1/128                                0

افزوده‌شده در نسخه 234.

delete DEVICE...

دستگاه‌های شبکه مجازی (netdevs) را حذف می‌کند. نام رابط یا شماره نمایه (index) را می‌گیرد.

افزوده‌شده در نسخه 243.

up DEVICE...

دستگاه‌ها را بالا می‌آورد (فعال می‌کند). نام رابط یا شماره نمایه را می‌گیرد.

افزوده‌شده در نسخه 246.

down DEVICE...

دستگاه‌ها را پایین می‌آورد (غیرفعال می‌کند). نام رابط یا شماره نمایه را می‌گیرد.

افزوده‌شده در نسخه 246.

renew DEVICE...

پیکربندی‌های پویا را تجدید می‌کند، مانند آدرس‌های دریافت‌شده از سرور DHCP. نام رابط یا شماره نمایه را می‌گیرد.

افزوده‌شده در نسخه 244.

forcerenew DEVICE...

یک پیام FORCERENEW به تمام کلاینت‌های متصل ارسال می‌کند که بازپیکربندی DHCP را فعال می‌سازد. نام رابط یا شماره نمایه را می‌گیرد.

افزوده‌شده در نسخه 246.

reconfigure DEVICE...

پیکربندی مجدد رابط‌های شبکه. نام رابط یا شماره نمایه را می‌گیرد. توجه داشته باشید که این دستور فایل‌های .netdev یا .network مربوط به رابط مشخص‌شده را بازخوانی نمی‌کند. بنابراین، اگر فایل‌های پیکربندی را ویرایش کرده‌اید، لازم است ابتدا دستور networkctl reload را اجرا کنید تا تنظیمات جدید اعمال شوند.

افزوده‌شده در نسخه 244.

reload

بارگذاری مجدد فایل‌های .netdev و .network.

اگر یک فایل جدید یا تغییریافته .netdev یافت شود، netdev متناظر به ترتیب ایجاد یا به‌روزرسانی می‌شود. توجه داشته باشید، اگر رابط مربوطه از قبل وجود داشته باشد، ممکن است برخی از تنظیمات جدید اعمال نشوند؛ به عنوان مثال، شناسه VLAN را نمی‌توان پس از ایجاد رابط تغییر داد، بنابراین تغییر Id= در بخش [VLAN] در صورتی که رابط VLAN منطبق از قبل وجود داشته باشد تأثیری نخواهد داشت. برای اعمال چنین تنظیماتی، رابط‌ها باید پیش از بارگذاری مجدد به صورت دستی حذف شوند. همچنین توجه داشته باشید که حتی اگر یک فایل .netdev حذف شود، systemd-networkd(8) دستگاه شبکه موجود متناظر با آن فایل را حذف نمی‌کند.

اگر یک فایل جدید، تغییریافته یا حذف‌شده .network یافت شود، تمام رابط‌هایی که با فایل مطابقت دارند دوباره پیکربندی می‌شوند.

افزوده‌شده در نسخه 244.

edit FILE|@DEVICE...

ویرایش فایل‌های پیکربندی شبکه، شامل فایل‌های .network، .netdev و .link. اگر هیچ فایل پیکربندی شبکه‌ای منطبق با نام ارائه‌شده یافت نشود، بسته به اینکه آیا گزینه --runtime مشخص شده است یا خیر، فایل جدیدی در /etc/ یا /run/ ایجاد خواهد شد. به‌طور ویژه، اگر نام با "@" شروع شود، به عنوان یک رابط شبکه در نظر گرفته شده و ویرایش روی فایل‌های پیکربندی شبکه مرتبط با آن انجام خواهد شد. علاوه بر این، نام رابط می‌تواند دارای پسوند ":network" (پیش‌فرض)، ":link" یا ":netdev" باشد تا نوع پیکربندی شبکه برای عملیات انتخاب شود.

اگر --drop-in= مشخص شود، فایل drop-in به جای فایل پیکربندی اصلی ویرایش می‌شود. مگر اینکه گزینه --no-reload مشخص شده باشد، پس از اتمام ویرایش فایل‌های .network یا .netdev، سرویس systemd-networkd(8) مجدداً بارگذاری خواهد شد. همین امر برای فایل‌های .link و سرویس systemd-udevd(8) نیز صدق می‌کند. توجه داشته باشید که تنظیمات تغییریافته پیوند پس از بارگذاری مجدد به‌طور خودکار اعمال نمی‌شوند. برای دستیابی به آن، رویدادهای uevents را برای رابط مربوطه راه‌اندازی (trigger) کنید. برای اطلاعات بیشتر به systemd.link(5) مراجعه نمایید.

اگر گزینه --stdin مشخص شده باشد، محتوای جدید از ورودی استاندارد خوانده خواهد شد. در این حالت، محتوای قدیمی فایل دور ریخته می‌شود.

افزوده‌شده در نسخه 254.

cat [FILE|@DEVICE...]

نمایش فایل‌های پیکربندی شبکه. این دستور از پیشوند "@" مشابه دستور edit پیروی می‌کند، با پشتیبانی از یک پسوند اضافی ":all" برای نمایش هم‌زمان تمام انواع فایل‌های پیکربندی مرتبط با رابط به صورت یکجا. هنگامی که هیچ آرگومانی مشخص نشود، فایل networkd.conf(5) و فایل‌های drop-in آن نمایش داده خواهند شد.

افزوده‌شده در نسخه 254.

mask FILE...

ماسک کردن (غیرفعال‌سازی قطعی) فایل‌های پیکربندی شبکه، که شامل فایل‌های .network، .netdev و .link می‌شود. یک پیوند نمادین (symlink) با نام مشخص‌شده، بسته به اینکه آیا گزینه --runtime تعیین شده باشد یا خیر، در پوشه /etc/ یا /run/ ایجاد می‌شود که به /dev/null اشاره می‌کند. اگر یک فایل پیکربندی غیرخالی با نام مشخص‌شده در دایرکتوری مقصد یا دایرکتوری با اولویت بالاتر وجود داشته باشد (برای مثال، از --runtime استفاده شود در حالی که یک پیکربندی موجود در /etc/ قرار دارد)، عملیات لغو می‌شود.

این دستور از گزینه --no-reload به همان روش دستور edit پیروی می‌کند.

افزوده‌شده در نسخه 256.

unmask FILE...

آن‌ماسک کردن (رفع مسدودیت) فایل‌های پیکربندی شبکه، یعنی بازگرداندن اثر دستور mask. توجه داشته باشید که این دستور بدون در نظر گرفتن محدوده دایرکتوری عمل می‌کند، یعنی گزینه --runtime هیچ اثری ندارد.

این دستور از گزینه --no-reload به همان روش دستورهای edit و mask پیروی می‌کند.

افزوده‌شده در نسخه 256.

persistent-storage BOOL

اطلاع به systemd-networkd.service(8) مبنی بر اینکه فضای ذخیره‌سازی پایدار برای سرویس آماده است. این دستور توسط systemd-networkd-persistent-storage.service فراخوانی می‌شود. معمولاً این دستور نباید به‌صورت دستی توسط کاربران یا مدیران سیستم فراخوانی شود.

افزوده‌شده در نسخه 256.

گزینه‌های زیر پشتیبانی می‌شوند:

-a --all

نمایش همه پیوندها همراه با status.

افزوده‌شده در نسخه 219.

-s --stats

نمایش آمار پیوند همراه با status.

افزوده‌شده در نسخه 243.

-l, --full

خروجی بیضی‌وار (خلاصه و ناقص) نشود.

افزوده‌شده در نسخه 245.

-n, --lines=

هنگام استفاده با دستور status، تعداد خطوط ژورنال برای نمایش را، با شمارش از تازه‌ترین‌ها، کنترل می‌کند. یک آرگومان عدد صحیح مثبت می‌پذیرد. مقدار پیش‌فرض 10 است.

افزوده‌شده در نسخه 245.

--drop-in=NAME

هنگام استفاده با دستور edit، فایل drop-in با نام NAME را به جای فایل پیکربندی اصلی ویرایش می‌کند.

افزوده‌شده در نسخه 254.

--no-reload

هنگام استفاده با edit، mask یا unmask، سرویس systemd-networkd.service(8) یا systemd-udevd.service(8) پس از پایان عملیات مجدداً بارگذاری نخواهد شد.

افزوده‌شده در نسخه 254.

--runtime

هنگام استفاده با دستور edit یا mask، عملیات روی فایل در پوشه /run/ به جای /etc/ انجام می‌شود.

افزوده‌شده در نسخه 256.

--stdin

هنگام استفاده با دستور edit، محتوای فایل از ورودی استاندارد خوانده شده و ویرایشگر اجرا نخواهد شد. در این حالت، محتوای قدیمی فایل به‌طور خودکار جایگزین می‌شود. این حالت برای «ویرایش» پیکربندی از درون اسکریپت‌ها بسیار مفید است، به‌ویژه از این جهت که دایرکتوری‌های drop-in ایجاد شده و در یک مرحله مقداردهی می‌شوند.

چندین drop-in را می‌توان در این حالت با گزینه --drop-in= «ویرایش» کرد، و محتوای یکسان در همه آن‌ها نوشته خواهد شد. در غیر این صورت، دقیقاً انتظار یک فایل پیکربندی اصلی وجود دارد.

افزوده‌شده در نسخه 257.

--no-ask-password

از کاربر برای احراز هویت در عملیات‌های دارای امتیاز دسترسی پرس‌وجو نشود.

--json=MODE

نمایش خروجی قالب‌بندی‌شده به صورت JSON. یکی از مقادیر "short" (برای کوتاه‌ترین خروجی ممکن بدون هیچ‌گونه فاصله خالی اضافی یا شکست خط)، "pretty" (برای نسخه زیباسازی‌شده همان، همراه با تورفتگی و خطوط جدید) یا "off" (برای غیرفعال کردن خروجی JSON، حالت پیش‌فرض) را می‌پذیرد.

-h, --help

نمایش یک متن راهنمای کوتاه و خروج.

--version

چاپ یک رشته نسخه کوتاه و خروج.

--no-legend

راهنما چاپ نشود، یعنی سرستون‌ها و پاورقی همراه با نکات کمکی.

--no-pager

خروجی به یک صفحه‌بند (pager) هدایت نشود.

در صورت موفقیت، 0 بازگردانده می‌شود، و در غیر این صورت یک کد خطای غیرصفر.

systemd-networkd.service(8), systemd.network(5), systemd.netdev(5), ip(8)

1.
RFC 3484
systemd 261.2