table of contents
- unstable 4.31.0-1
| SYSTEMD.NET-NAMING-SCHEME(7) | systemd.net-naming-scheme | SYSTEMD.NET-NAMING-SCHEME(7) |
الاسم¶
systemd.net-naming-scheme - أنظمة تسمية أجهزة الشبكة
الوصف¶
يمكن توليد أسماء واجهات الشبكة وعناوين MAC بناءً على سمات واجهة مستقرة معينة. هذا ممكن عندما تتوفر معلومات كافية عن الجهاز لتوليد تلك السمات ويكون استخدام هذه المعلومات مُهيئًا. تصف هذه الصفحة تسمية الواجهات، أي الأسماء المحتملة التي يمكن توليدها. تُولد هذه الأسماء بواسطة الأداة المضمنة net_id في systemd-udevd.service(8) وتُصدر كخصائص udev(7) (ID_NET_NAME_ONBOARD=, ID_NET_LABEL_ONBOARD=, ID_NET_NAME_PATH=, ID_NET_NAME_SLOT=).
تُستمد الأسماء وعناوين MAC من سمات بيانات وصفية مستقرة متنوعة للجهاز. تأخذ الإصدارات الأحدث من systemd-udevd في الاعتبار المزيد من هذه السمات، مما يحسّن (وبالتالي قد يغير) الأسماء والعناوين المستخدمة لنفس الأجهزة. تُسمى الإصدارات المختلفة لقواعد التوليد هذه "أنظمة التسمية". يُختار نظام التسمية المبدئي في وقت التجميع. عادةً ما يكون هذا هو أحدث إصدار مطبق، ولكن من الممكن أيضًا تعيين أحد الإصدارات الأقدم للحفاظ على التوافق. قد يكون هذا مفيدًا، على سبيل المثال، للتوزيعات التي قد تقدم إصدارات جديدة من systemd في إصدارات مستقرة دون تغيير نظام التسمية. يمكن أيضًا تجاوز نظام التسمية باستخدام مفتاح سطر أوامر النواة net.naming_scheme=، انظر systemd-udevd.service(8). أنظمة التسمية المتاحة موصوفة أدناه.
بعد توليد خصائص udev، يمكن استخدام قواعد udev المناسبة لإعادة تسمية الأجهزة فعليًا بناءً على تلك الخصائص. انظر وصف NamePolicy= و MACAddressPolicy= في systemd.link(5).
لاحظ أنه بينما يكون مفهوم أنظمة تسمية واجهات الشبكة ذا صلة أساسية في سياق systemd-udevd.service، فإن مدير الحاوية systemd-nspawn(1) يأخذه أيضًا في الاعتبار عند تسمية واجهات الشبكة، انظر أدناه.
السياسات¶
تبدأ جميع الأسماء ببادئة مكونة من حرفين تشير إلى نوع الواجهة.
جدول 1. بادئات
مكونة من
حرفين
بناءً على
نوع
الواجهة
| البادئة | الوصف |
| en | إيثرنت |
| ib | إنفينيباند |
| sl | IP عبر الخط التسلسلي (slip) |
| wl | شبكة محلية لاسلكية (WLAN) |
| ww | شبكة واسعة النطاق لاسلكية (WWAN) |
| mc | بروتوكول نقل مكونات الإدارة (MCTP) |
تصدر الأداة المضمنة net_id في udev(7) خصائص الجهاز التالية:
ID_NET_NAME_ONBOARD=بادئةoرقم, ID_NET_NAME_ONBOARD=بادئةdرقم
جدول 2. أنظمة
تسمية
الأجهزة
المدمجة
| Format | الوصف |
| بادئةoرقم | فهرس PCI المدمج |
| بادئةdرقم | فهرس الاسم المستعار لشجرة الجهاز |
أُضيف في الإصدار 243.
ID_NET_LABEL_ONBOARD=تسمية
أُضيف في الإصدار 243.
ID_NET_NAME_MAC=prefixxAABBCCDDEEFF
أُضيف في الإصدار 243.
ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port], ID_NET_NAME_SLOT=prefixvslot, ID_NET_NAME_SLOT=prefixxslot, ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port]bnumber, ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port]uport...[cconfig][iinterface], ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port]vslot, ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port]rslot, ID_NET_NAME_SLOT=prefix[Pdomain]sslot[ffunction][nport_name|ddev_port]Ssfnum
الجدول 3. مخططات
تسمية
الفتحات
| Format | الوصف |
| prefix [Pdomain] sslot [ffunction] [nport_name | ddev_port] | رقم فتحة PCI |
| prefix vslot | رقم فتحة VIO (IBM PowerVM) |
| prefix Xnumber | رقم واجهة VIF (Xen) |
| ... bnumber | رقم نواة ناقل Broadcom (BCMA) |
| ... uport... [cconfig] [iinterface] | سلسلة أرقام منافذ USB |
| ... vslot | رقم فتحة SR-VIO |
| ... rslot | رقم فتحة SR-IOV |
| ... Ssfnum | رقم الوظيفة الفرعية المساعدة (SF) |
يُسبق نطاق PCI فقط عندما لا يكون 0. ستحمل جميع أجهزة PCI متعددة الوظائف رقم ffunction في اسم الجهاز، بما في ذلك جهاز الوظيفة 0. بالنسبة للأجهزة غير متعددة الوظائف، يُحذف الرقم إذا كان 0. يُستخدم اسم المنفذ port_name، أو رقم المنفذ ddev_port إذا كان الاسم غير معروف.
بالنسبة لأجهزة BCMA، يُحذف رقم النواة عندما يكون 0.
بالنسبة لأجهزة USB، تُؤلف السلسلة الكاملة لأرقام منافذ الموزعات. إذا أصبح الاسم أطول من الحد الأقصى البالغ 15 حرفًا، لا يُصدر الاسم. تُحذف القيم المعتادة لرقم تهيئة USB 1 ورقم الواجهة 0.
تُسمى الأجهزة الافتراضية SR-IOV استنادًا إلى اسم الواجهة الأم، مع لاحقة v ورقم الجهاز الافتراضي، مع إزالة أي أصفار بادئة. يُتجاهل رقم الناقل.
تُسمى ممثلات الأجهزة الافتراضية SR-IOV استنادًا إلى اسم واجهة الجهاز المادي، مع لاحقة r ورقم الجهاز الافتراضي المرتبط بالممثلة المعينة، مع إزالة أي أصفار بادئة. يُتجاهل اسم المنفذ المادي ورقم الناقل.
أجهزة الشبكة ذات الوظيفة الفرعية المساعدة (SF)، حيث يكون الأصل لجهاز الشبكة هو جهاز مساعد يعرض سمة sfnum sysfs (حاليًا mlx5_core SFs)، تُسمى استنادًا إلى وظيفة PCI الأساسية (PF، أو بالنسبة لـ VF-SF، PF خلف VF)، مع لاحقة S ورقم الوظيفة الفرعية المعرّف من قبل المستخدم من sfnum. هذا مشابه لكيفية تسمية أجهزة الوظيفة الافتراضية SR-IOV بلاحقة v.
إذا كانت وظيفة PCI الأصل لـ SF نفسها وظيفة افتراضية SR-IOV (VF-SF)، فإن الاسم يُجذر عند PF وتُسلسل كلتا اللاحقتين، مع لاحقة v تسبق لاحقة S (مثل "enp193s0f0v0S88"). لذلك، تشكل PF وVF وSF تسلسلاً هرميًا مستقرًا بغض النظر عن ترقيم ناقل/جهاز/وظيفة PCI الأساسي لـ VF.
في بعض التهيئات، قد يرتبط جسر PCI أب لوحدة تحكم شبكة معينة بفتحة. في هذه الحالة، لا نُولّد خاصية الجهاز هذه لتجنب تعارضات التسمية المحتملة.
أُضيف في الإصدار 243.
ID_NET_NAME_PATH=prefixcbus_id, ID_NET_NAME_PATH=prefixavendormodeliinstance, ID_NET_NAME_PATH=prefixiaddressnport_name, ID_NET_NAME_PATH=prefixuport..., ID_NET_NAME_PATH=prefix[Pdomain]pbussslot[ffunction][nphys_port_name|ddev_port], ID_NET_NAME_PATH=prefix[Pdomain]pbussslot[ffunction][nphys_port_name|ddev_port]bnumber, ID_NET_NAME_PATH=prefix[Pdomain]pbussslot[ffunction][nphys_port_name|ddev_port]uport...[cconfig][iinterface], ID_NET_NAME_PATH=prefix[Pdomain]pbussslot[ffunction][nphys_port_name|ddev_port]Ssfnum
الجدول 4. مخططات
تسمية
المسار
| Format | الوصف |
| prefix cbus_id | معرف جهاز CCW أو CCW المجمّع |
| prefix avendor model iinstance | أسماء مسار ACPI لأجهزة منصة ARM64 |
| prefix iaddress nport_name | رقم جهاز Netdevsim (جهاز شبكة محاكى) واسم المنفذ |
| prefix [Pdomain] pbus sslot [ffunction] [nphys_port_name | ddev_port] | الموقع الجغرافي PCI |
| ... bnumber | رقم نواة ناقل Broadcom (BCMA) |
| ... uport... [cconfig] [iinterface] | سلسلة أرقام منافذ USB |
| ... Ssfnum | رقم الوظيفة الفرعية المساعدة (SF) |
توجد أجهزة CCW وCCW المجمّعة في الحواسيب الرئيسية IBM System Z. تُحذف أي أصفار ونقاط بادئة.
لأجهزة PCI وBCMA وUSB، تُستخدم نفس القواعد الموصوفة أعلاه لتسمية الفتحة.
أُضيف في الإصدار 243.
التاريخ¶
عُرفت "مخططات التسمية" التالية (والتي يمكن اختيارها عند إقلاع النظام عبر مفتاح سطر أوامر النواة net.naming_scheme=، انظر أعلاه):
v238
أُضيف في الإصدار 243.
v239
تُسمى الأجهزة الافتراضية SR-IOV بناءً على اسم الواجهة الأم، مع لاحقة "vport"، حيث port هو رقم الجهاز الافتراضي. سابقًا، كانت تلك الأجهزة الافتراضية تُسمى كما لو كانت مستقلة تمامًا.
تُسمى الأجهزة الافتراضية NPAR التاسعة وما بعدها وفقًا للمخطط المستخدم لأقسام NPAR الثمانية الأولى. سابقًا، لم تُعاد تسمية تلك الأجهزة وكان المبدئي للنواة ("ethN") يُستخدم.
تُولد الأسماء أيضًا لأجهزة PCI حيث لا يحتوي جهاز تحكم الشبكة PCI نفسه على رقم فتحة مرتبط، ولكن أحد أجهزته الأم يمتلكه. سابقًا، لم تُعاد تسمية تلك الأجهزة وكان المبدئي للنواة يُستخدم.
أُضيف في الإصدار 243.
v240
حقل فهرس ACPI (المستخدم في ID_NET_NAME_ONBOARD=) يُستخدم الآن أيضًا عندما يكون 0.
أُدخلت سياسة تسمية جديدة NamePolicy=keep. بهذه السياسة، إذا كان اسم جهاز الشبكة قد ضُبط مسبقًا بواسطة مساحة المستخدم، فلن يُعاد تسمية الجهاز مرة أخرى. سابقًا، كانت سياسة التسمية هذه تُطبق ضمنيًا، والآن يجب طلبها صراحةً. فعليًا، يعني هذا أن أجهزة الشبكة ستُعاد تسميتها وفقًا للتهيئة، حتى لو كانت قد أُعيدت تسميتها بالفعل، إذا لم يُحدد keep كسياسة تسمية في ملف .link. انظر systemd.link(5) لوصف NamePolicy=.
أُضيف في الإصدار 243.
v241
ملاحظة: عندما لا تضبط مساحة المستخدم عنوان MAC لجهاز جسر، ستخصص النواة مبدئيًا عنوانًا عشوائيًا، ثم تغيره عندما يُربط أول جهاز بالجسر. مع تغيير سياسة التسمية هذا، تحصل الجسور على عنوان MAC دائم بناءً على اسم الجسر بدلاً من أول جهاز مربوط.
أُضيف في الإصدار 243.
v243
سابقًا، كانت بادئة نوع الواجهة المكونة من حرفين تُسبق إلى ID_NET_LABEL_ONBOARD=. لم يعد هذا يُفعل الآن.
أُضيف في الإصدار 243.
v245
أُضيف في الإصدار 245.
v247
أُضيف في الإصدار 247.
v249
بعض تطبيقات البرامج الثابتة والمشرفين الافتراضيين تبلغ عن أرقام عالية بشكل غير معقول للفهرس المدمج. لمنع توليد أسماء واجهات مدمجة زائفة، تم تجاهل أرقام الفهرس الأكبر من 16381 (2¹⁴-1). لأجهزة PCI s390، قيم الفهرس حتى 65535 (2¹⁶-1) صالحة. لمراعاة ذلك، زيد الحد إلى 65535.
قاعدة udev(7) NAME= تستبدل ":" و "/" و "%" بشرطة سفلية ("_")، وترفض السلاسل التي تحتوي على أرقام فقط.
أُضيف في الإصدار 249.
v250
أُضيف في الإصدار 250.
v251
أُضيف في الإصدار 251.
v252
أُضيف في الإصدار 252.
v253
أُضيف في الإصدار 253.
v254
أُضيف في الإصدار 255.
v255
إذا اكتشفنا أن جهاز PCI مرتبط بفتحة هو جسر PCI، لم نعد نضبط ID_NET_NAME_SLOT، مع التراجع عن تغيير تم تقديمه في v251.
أُضيف في الإصدار 255.
v257
مُدد مخطط التسمية المستند إلى أسماء مستعارة لشجرة الأجهزة لدعم الأسماء المستعارة للواجهات الفردية لوحدات التحكم ذات المنافذ المتعددة.
أُضيف في الإصدار 257.
v258
أُضيف في الإصدار 258.
v259
أُضيف في الإصدار 259.
v260
أُضيف في الإصدار 260.
v261
أُضيف في الإصدار 261.
لاحظ أن latest قد يُستخدم للإشارة إلى أحدث مخطط معروف (لهذا الإصدار المحدد من systemd).
تحديد استخدام خصائص sysfs محددة¶
عند إنشاء أسماء لبطاقات الشبكة، تستخدم بعض مخططات التسمية بيانات من sysfs مملوءة من النواة. هذا يعني أنه على الرغم من اختيار مخطط تسمية محدد في udev(7)، يمكن أن يتغير اسم بطاقة الشبكة عندما يضيف إصدار نواة جديد خاصية sysfs جديدة. على سبيل المثال، إذا بدأت النواة في ضبط phys_port_name، سيُلحق udev اللاحقة "nphys_port_name" باسم الجهاز.
ID_NET_NAME_ALLOW=BOOL
أُضيف في الإصدار 256.
ID_NET_NAME_ALLOW_sysfsattr=BOOL
أُضيف في الإصدار 256.
بهذه الخيارات، يمكن للمستخدمين تعيين قائمة مسموح بها أو قائمة ممنوعة لسمات sysfs. لإنشاء قائمة مسموح بها، يحتاج المستخدم إلى تعيين ID_NET_NAME_ALLOW=0 للجهاز ثم سرد السمات المسموح بها مع خيارات ID_NET_NAME_ALLOW_sysfsattr=1. في حالة قائمة ممنوعة، يحتاج المستخدم إلى توفير قائمة السمات الممنوعة مع خيارات ID_NET_NAME_ALLOW_sysfsattr=0.
أمثلة¶
مثال 1. استخدام udevadm test-builtin لعرض خصائص الجهاز
$ udevadm test-builtin net_id /sys/class/net/enp0s31f6 ... Using default interface naming scheme 'v243'. ID_NET_NAMING_SCHEME=v243 ID_NET_NAME_MAC=enx54ee75cb1dc0 ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. ID_NET_NAME_PATH=enp0s31f6 ...
مثال 2. بطاقة إيثرنت PCI مع فهرس البرامج الثابتة "1"
ID_NET_NAME_ONBOARD=eno1 ID_NET_NAME_ONBOARD_LABEL=Ethernet Port 1
مثال 3. بطاقة إيثرنت PCI في فتحة مع رقم فهرس البرامج الثابتة
# /sys/devices/pci0000:00/0000:00:1c.3/0000:05:00.0/net/ens1 ID_NET_NAME_MAC=enx000000000466 ID_NET_NAME_PATH=enp5s0 ID_NET_NAME_SLOT=ens1
مثال 4. بطاقة إيثرنت PCI متعددة الوظائف بمنفذين
# /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/enp2s0f0 ID_NET_NAME_MAC=enx78e7d1ea46da ID_NET_NAME_PATH=enp2s0f0 # /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.1/net/enp2s0f1 ID_NET_NAME_MAC=enx78e7d1ea46dc ID_NET_NAME_PATH=enp2s0f1
مثال 5. بطاقة WLAN PCI
# /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlp3s0 ID_NET_NAME_MAC=wlx0024d7e31130 ID_NET_NAME_PATH=wlp3s0
مثال 6. محول مضيف IB PCI بمنفذين
# /sys/devices/pci0000:00/0000:00:03.0/0000:15:00.0/net/ibp21s0f0 ID_NET_NAME_PATH=ibp21s0f0 # /sys/devices/pci0000:00/0000:00:03.0/0000:15:00.1/net/ibp21s0f1 ID_NET_NAME_PATH=ibp21s0f1
مثال 7. مودم 3G مدمج USB
# /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.6/net/wwp0s29u1u4i6 ID_NET_NAME_MAC=wwx028037ec0200 ID_NET_NAME_PATH=wwp0s29u1u4i6
مثال 8. هاتف Android USB
# /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/net/enp0s29u1u2 ID_NET_NAME_MAC=enxd626b3450fb5 ID_NET_NAME_PATH=enp0s29u1u2
مثال 9. واجهة CCW مجمعة s390
# /sys/devices/css0/0.0.0007/0.0.f5f0/group_device/net/encf5f0 ID_NET_NAME_MAC=enx026d3c00000a ID_NET_NAME_PATH=encf5f0
مثال 10. تعيين قائمة مسموح بها لقراءة سمات sysfs لتسمية بطاقة الشبكة
/etc/udev/hwdb.d/50-net-naming-allowlist.hwdb net:naming:drvirtio_net:*
ID_NET_NAME_ALLOW=0
ID_NET_NAME_ALLOW_ACPI_INDEX=1
ID_NET_NAME_ALLOW_ADDR_ASSIGN_TYPE=1
ID_NET_NAME_ALLOW_ADDRESS=1
ID_NET_NAME_ALLOW_ARI_ENABLED=1
ID_NET_NAME_ALLOW_DEV_PORT=1
ID_NET_NAME_ALLOW_FUNCTION_ID=1
ID_NET_NAME_ALLOW_IFLINK=1
ID_NET_NAME_ALLOW_INDEX=1
ID_NET_NAME_ALLOW_LABEL=1
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=1
ID_NET_NAME_ALLOW_TYPE=1
مثال 11. تعيين قائمة ممنوعة بحيث يتم تجاهل سمات sysfs المحددة
/etc/udev/hwdb.d/50-net-naming-denylist.hwdb net:naming:drvirtio_net:*
ID_NET_NAME_ALLOW=1
ID_NET_NAME_ALLOW_DEV_PORT=0
ID_NET_NAME_ALLOW_PHYS_PORT_NAME=0
انظر أيضًا¶
udev(7)، udevadm(8)، systemd-udevd.service(8)، أسماء واجهات الشبكة القابلة للتنبؤ[1]، systemd-nspawn(1)
ملاحظات¶
- 1.
- أسماء واجهات الشبكة القابلة للتنبؤ
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 261~rc3 |