| SYSTEMD.LINK(5) | systemd.link | SYSTEMD.LINK(5) |
نام (NAME)
systemd.link - پیکربندی دستگاه شبکه
خلاصه دستور (SYNOPSIS)
link.link
توضیحات (DESCRIPTION)
یک فایل متنی ساده به سبک ini که پیکربندی را برای دستگاههای شبکه منطبق کدگذاری میکند و توسط systemd-udevd(8) و بهویژه توکار (builtin) net_setup_link آن استفاده میشود. برای توصیف کلی نحو، systemd.syntax(7) را ببینید.
توجه داشته باشید که برخی توزیعها ممکن است فایلهای .link را در سازوکارهای مراحل اولیه بوت خود بگنجانند (برای مثال با گنجاندن نسخههایی از فایلهای .link در initramfs). از این رو ممکن است انجام اقدامات دستی برای اطمینان از همگام بودن هرگونه تغییرات محلی با سازوکارهای ذخیرهسازی مراحل اولیه بوت لازم باشد. باید به مستندات مرتبط با توزیع خاص مراجعه شود.
فایلهای .link از فایلهای واقع در دایرکتوری شبکه سیستم /usr/lib/systemd/network و /usr/local/lib/systemd/network [1]، دایرکتوری موقت و فرار زمان اجرای شبکه /run/systemd/network، و دایرکتوری شبکه مدیریت محلی /etc/systemd/network خوانده میشوند. تمام فایلهای پیکربندی صرفنظر از دایرکتوریهایی که در آن قرار دارند، به صورت الفبایی-عددی مرتب و پردازش میشوند. با این حال، فایلهای با نام یکسان جایگزین یکدیگر میشوند. توصیه میشود که نام هر فایل با عددی کوچکتر از "70" پیشوندگذاری شود (برای مثال 10-eth0.link). در غیر این صورت، فایلهای .link پیشفرض یا فایلهای ایجادشده توسط systemd-network-generator.service(8) ممکن است بر فایلهای پیکربندیشده توسط کاربر اولویت یابند. فایلهای موجود در /etc/ بالاترین اولویت را دارند، فایلهای موجود در /run/ بر فایلهای با نام مشابه در /usr/lib/ مقدم هستند. در صورت نیاز میتوان از این سازوکار برای بازنویسی و جایگزینی یک فایل link ارائهشده توسط سیستم با یک فایل محلی استفاده کرد. به عنوان یک حالت خاص، یک فایل خالی (اندازه فایل ۰) یا پیوند نمادین با همان نام که به /dev/null اشاره دارد، فایل پیکربندی را به طور کامل غیرفعال میکند (اصطلاحاً "ماسک" میشود).
همراه با فایل link به نام foo.link، ممکن است دایرکتوری قطعه الحاقی (drop-in) با نام foo.link.d/ وجود داشته باشد. تمام فایلهای با پسوند ".conf" از این دایرکتوری به ترتیب الفبایی-عددی ادغام شده و پس از تجزیه خود فایل اصلی، تجزیه خواهند شد. این امر برای تغییر دادن یا افزودن تنظیمات پیکربندی، بدون نیاز به ویرایش فایل پیکربندی اصلی مفید است. هر فایل drop-in باید دارای سرآیندهای بخش مناسب باشد.
علاوه بر /etc/systemd/network، دایرکتوریهای قطعه الحاقی ".d" را میتوان در دایرکتوریهای /usr/lib/systemd/network یا /run/systemd/network قرار داد. فایلهای drop-in موجود در /etc/ بر موارد موجود در /run/ اولویت دارند که آنها نیز به نوبه خود بر موارد موجود در /usr/lib/ مقدم هستند. فایلهای drop-in تحت هر یک از این دایرکتوریها، صرفنظر از محل قرارگیری فایل link اصلی، بر آن اولویت دارند.
فایل link شامل یک بخش [Match] است که تعیین میکند آیا یک فایل link معین میتواند روی یک دستگاه معین اعمال شود یا خیر، و همچنین یک بخش [Link] که نحوه پیکربندی دستگاه را مشخص میکند. اولین فایل (به ترتیب واژهنگاری) از میان فایلهای link که با یک دستگاه مشخص مطابقت داشته باشد، اعمال میشود. توجه داشته باشید که یک فایل پیشفرض به نام 99-default.link توسط سیستم ارائه میشود. بنابراین هر فایل .link ارائهشده توسط کاربر باید نامی از نظر واژهنگاری جلوتر داشته باشد تا اصلاً در نظر گرفته شود.
برای عیبیابی مشکلات مربوط به فایلهای .link، udevadm(8) را ببینید.
گزینههای بخش [MATCH] ([MATCH] SECTION OPTIONS)
گفته میشود یک فایل link با یک رابط مطابقت دارد اگر تمام تطبیقهای مشخصشده توسط بخش [Match] برآورده شوند. هنگامی که یک فایل link شامل تنظیمات معتبری در بخش [Match] نباشد، آنگاه فایل با تمام رابطها مطابقت خواهد داشت و systemd-udevd در این باره هشدار میدهد. راهنمایی: برای جلوگیری از هشدار و شفافسازی اینکه قرار است با تمام رابطها مطابقت داده شود، مورد زیر را اضافه کنید:
OriginalName=*
اولین فایل (به ترتیب الفبایی-عددی) از میان فایلهای link که با یک رابط مشخص مطابقت داشته باشد اعمال میشود، و تمام فایلهای بعدی نادیده گرفته میشوند، حتی اگر آنها نیز مطابقت داشته باشند. کلیدهای زیر پذیرفته میشوند:
MACAddress=
شانزدهشانزدهی جداشده با دونقطه
افزوده شده در نسخه 250.
شانزدهشانزدهی جداشده با خط تیره
افزوده شده در نسخه 250.
شانزدهشانزدهی جداشده با نقطه
افزوده شده در نسخه 250.
قالب آدرس IPv4
افزوده شده در نسخه 250.
قالب آدرس IPv6
افزوده شده در نسخه 250.
طول کل هر آدرس MAC باید ۴ (برای تونل IPv4)، ۶ (برای اترنت)، ۱۶ (برای تونل IPv6)، یا ۲۰ (برای InfiniBand) باشد. این گزینه ممکن است بیش از یک بار مشخص شود که در این صورت فهرستها ادغام میشوند. اگر یک رشته خالی به این گزینه اختصاص یابد، فهرست آدرسهای سختافزاری تعریفشده پیش از این بازنشانی میشود. پیشفرض تنظیمنشده است.
افزوده شده در نسخه 211.
PermanentMACAddress=
افزوده شده در نسخه 245.
Path=
افزوده شده در نسخه 211.
Driver=
افزوده شده در نسخه 211.
Type=
افزوده شده در نسخه 211.
Kind=
افزوده شده در نسخه 251.
Property=
مثال: اگر یک فایل .link شامل موارد زیر باشد:
Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=vendor name" "KEY=with \"quotation\""
آنگاه، فایل .link تنها زمانی مطابقت دارد که رابط هر سه ویژگی بالا را دارا باشد.
افزوده شده در نسخه 243.
OriginalName=
افزوده شده در نسخه 218.
Host=
افزوده شده در نسخه 211.
Virtualization=
افزوده شده در نسخه 211.
KernelCommandLine=
افزوده شده در نسخه 211.
KernelVersion=
افزوده شده در نسخه 237.
Version=
افزوده شده در نسخه 258.
Credential=
افزوده شده در نسخه 252.
Architecture=
افزوده شده در نسخه 211.
Firmware=
افزوده شده در نسخه 249.
گزینههای بخش [LINK] ([LINK] SECTION OPTIONS)
بخش [Link] کلیدهای زیر را میپذیرد:
Description=
افزوده شده در نسخه 211.
Property=
Property=HOGE=foo BAR=baz
این گزینه از بسط سادهٔ مشخصکنندهها پشتیبانی میکند، بخش «مشخصکنندهها» در زیر را ببینید. این گزینه میتواند چندین بار مشخص شود. اگر یک رشته خالی اختصاص یابد، تمام تخصیصهای قبلی پاک میشوند.
این تنظیم برای پیکربندی ویژگی "ID_NET_MANAGED_BY=" مفید است که اعلام میکند کدام سرویس مدیریت شبکه باید رابط را مدیریت کند، و توسط systemd-networkd(8) و سایرین رعایت میشود. از
Property=ID_NET_MANAGED_BY=io.systemd.Network
استفاده کنید تا صراحتاً اعلام شود که systemd-networkd باید رابط را مدیریت کند، یا این ویژگی را روی مقدار دیگری تنظیم کنید تا صراحتاً اعلام شود که نباید چنین کند. برای جزئیات نحوه استفاده از این ویژگی برای تطبیق نامهای رابط، systemd.network(5) را ببینید.
افزوده شده در نسخه 256.
ImportProperty=
ImportProperty=HOGE BAR
این گزینه از بسط سادهٔ مشخصکنندهها پشتیبانی میکند، بخش «مشخصکنندهها» در زیر را ببینید. این گزینه میتواند چندین بار مشخص شود. اگر یک رشته خالی اختصاص یابد، تمام تخصیصهای قبلی پاک میشوند.
اگر همان ویژگی در Property= در بالا نیز تنظیم شده باشد، مقدار ویژگی واردشده توسط مقدار مشخصشده در Property= رونویسی خواهد شد.
افزوده شده در نسخه 256.
UnsetProperty=
UnsetProperty=HOGE BAR
این گزینه از بسط سادهٔ مشخصکنندهها پشتیبانی میکند، بخش «مشخصکنندهها» در زیر را ببینید. این گزینه میتواند چندین بار مشخص شود. اگر یک رشته خالی اختصاص یابد، تمام تخصیصهای قبلی پاک میشوند.
این تنظیم پس از اعمال ImportProperty= و Property= اعمال میشود. از این رو، اگر همان ویژگی در ImportProperty= یا Property= مشخص شده باشد، مقدار ویژگی واردشده یا مشخصشده نادیده گرفته خواهد شد و تنظیم ویژگی حذف میگردد.
افزوده شده در نسخه 256.
Alias=
افزوده شده در نسخه 211.
MACAddressPolicy=
persistent
افزوده شده در نسخه 211.
random
افزوده شده در نسخه 211.
none
افزوده شده در نسخه 227.
اختصاص یک رشته خالی معادل تنظیم "none" است.
افزوده شده در نسخه 211.
MACAddress=
افزوده شده در نسخه 211.
NamePolicy=
kernel
افزوده شده در نسخه 216.
database
افزوده شده در نسخه 211.
onboard
افزوده شده در نسخه 211.
slot
افزوده شده در نسخه 211.
path
افزوده شده در نسخه 211.
mac
افزوده شده در نسخه 211.
keep
افزوده شده در نسخه 241.
افزوده شده در نسخه 211.
Name=
توجه داشته باشید که تعیین نامی که ممکن است هسته برای رابط دیگری استفاده کند (برای مثال "eth0") خطرناک است زیرا تخصیص نام انجامشده توسط udev با تخصیص نام انجامشده توسط هسته رقابت میکند، و فقط یک رابط میتواند از این نام استفاده کند. بسته به ترتیب عملیات، یا udev یا هسته برنده خواهد شد، که باعث غیرقابلپیشبینی شدن نامگذاری میشود. بهتر است از پیشوند متفاوتی استفاده شود، برای مثال "internal0"/"external0" یا "lan0"/"lan1"/"lan3".
نامهای رابط باید حداقل طول ۱ نویسه و حداکثر طول ۱۵ نویسه داشته باشند، و میتوانند شامل هر نویسه ۷ بیتی ASCII باشند، به استثنای نویسههای کنترلی، ":"، "/" و "%". در حالی که "." یک نویسه مجاز است، توصیه میشود هنگام نامگذاری رابطها از آن خودداری کنید زیرا ابزارهای مختلف (مانند resolvconf(1)) از آن به عنوان نویسه جداکننده استفاده میکنند. همچنین، نامهای رابط کاملاً عددی مجاز نیستند (به منظور جلوگیری از ابهام با مشخص کردن رابط بر اساس نمایههای عددی)، و رشتههای خاص زیر نیز مجاز نیستند: "."، ".."، "all" و "default".
افزوده شده در نسخه 211.
AlternativeNamesPolicy=
افزوده شده در نسخه 245.
AlternativeName=
نامهای جایگزین رابط ممکن است برای شناسایی رابطها در ابزارهای مختلف استفاده شوند. برخلاف نام اصلی (همانطور که با Name= در بالا پیکربندی میشود)، ممکن است چندین نام جایگزین وجود داشته باشد که به همان رابط اشاره میکنند. نامهای جایگزین برخلاف ۱۵ نویسه مجاز برای نام اصلی رابط، میتوانند حداکثر طولی برابر با ۱۲۷ نویسه داشته باشند، اما در غیر این صورت مشمول همان محدودیتهای نامگذاری هستند.
افزوده شده در نسخه 245.
TransmitQueues=
افزوده شده در نسخه 248.
ReceiveQueues=
افزوده شده در نسخه 248.
TransmitQueueLength=
افزوده شده در نسخه 248.
MTUBytes=
افزوده شده در نسخه 211.
BitsPerSecond=
افزوده شده در نسخه 211.
Duplex=
افزوده شده در نسخه 211.
AutoNegotiation=
توجه داشته باشید که اگر مذاکره خودکار فعال باشد، تنظیمات سرعت و حالت دوطرفه فقطخواندنی هستند. اگر مذاکره خودکار غیرفعال باشد، در صورتی که درایور از چندین حالت پیوند پشتیبانی کند، تنظیمات سرعت و حالت دوطرفه قابلنوشتن هستند.
افزوده شده در نسخه 233.
WakeOnLan=
phy
افزوده شده در نسخه 211.
unicast
افزوده شده در نسخه 235.
multicast
افزوده شده در نسخه 235.
broadcast
افزوده شده در نسخه 235.
arp
افزوده شده در نسخه 235.
magic
افزوده شده در نسخه 211.
secureon
افزوده شده در نسخه 235.
پیشفرض تنظیمنشده است و از مقدار پیشفرض دستگاه استفاده خواهد شد. این تنظیم میتواند چندین بار مشخص شود. اگر یک رشته خالی اختصاص داده شود، تمام تخصیصهای قبلی پاک میشوند.
افزوده شده در نسخه 211.
WakeOnLanPassword=
افزوده شده در نسخه 250.
Port=
tp
افزوده شده در نسخه 234.
aui
افزوده شده در نسخه 234.
bnc
افزوده شده در نسخه 234.
mii
افزوده شده در نسخه 234.
fibre
افزوده شده در نسخه 234.
افزوده شده در نسخه 234.
Advertise=
جدول 1. مقادیر پشتیبانیشده برای اعلان
| اعلان (Advertise) | سرعت (Mbps) | حالت دوطرفه (Duplex) |
| 10baset-full | 10 | full |
| 10baset1brr-full | 10 | full |
| 10baset1l-full | 10 | full |
| 10baset1s-full | 10 | full |
| 10baset-half | 10 | half |
| 10baset1s-half | 10 | half |
| 10baset1s-p2mp-half | 10 | half |
| 100basefx-full | 100 | full |
| 100baset-full | 100 | full |
| 100baset1-full | 100 | full |
| 100basefx-half | 100 | half |
| 100baset-half | 100 | half |
| 1000basekx-full | 1000 | full |
| 1000baset-full | 1000 | full |
| 1000baset1-full | 1000 | full |
| 1000basex-full | 1000 | full |
| 1000baset-half | 1000 | half |
| 2500baset-full | 2500 | full |
| 2500basex-full | 2500 | full |
| 5000baset-full | 5000 | full |
| 10000baser-fec | 10000 | |
| 10000basecr-full | 10000 | full |
| 10000baseer-full | 10000 | full |
| 10000basekr-full | 10000 | full |
| 10000basekx4-full | 10000 | full |
| 10000baselr-full | 10000 | full |
| 10000baselrm-full | 10000 | full |
| 10000basesr-full | 10000 | full |
| 10000baset-full | 10000 | full |
| 20000basekr2-full | 20000 | full |
| 20000basemld2-full | 20000 | full |
| 25000basecr-full | 25000 | full |
| 25000basekr-full | 25000 | full |
| 25000basesr-full | 25000 | full |
| 40000basecr4-full | 40000 | full |
| 40000basekr4-full | 40000 | full |
| 40000baselr4-full | 40000 | full |
| 40000basesr4-full | 40000 | full |
| 50000basecr-full | 50000 | full |
| 50000basecr2-full | 50000 | full |
| 50000basedr-full | 50000 | full |
| 50000basekr-full | 50000 | full |
| 50000basekr2-full | 50000 | full |
| 50000baselr-er-fr-full | 50000 | full |
| 50000basesr-full | 50000 | full |
| 50000basesr2-full | 50000 | full |
| 56000basecr4-full | 56000 | full |
| 56000basekr4-full | 56000 | full |
| 56000baselr4-full | 56000 | full |
| 56000basesr4-full | 56000 | full |
| 100000basecr-full | 100000 | full |
| 100000basecr2-full | 100000 | full |
| 100000basecr4-full | 100000 | full |
| 100000basedr-full | 100000 | full |
| 100000basedr2-full | 100000 | full |
| 100000basekr-full | 100000 | full |
| 100000basekr2-full | 100000 | full |
| 100000basekr4-full | 100000 | full |
| 100000baselr-er-fr-full | 100000 | full |
| 100000baselr2-er2-fr2-full | 100000 | full |
| 100000baselr4-er4-full | 100000 | full |
| 100000basesr-full | 100000 | full |
| 100000basesr2-full | 100000 | full |
| 100000basesr4-full | 100000 | full |
| 200000basecr-full | 200000 | full |
| 200000basecr2-full | 200000 | full |
| 200000basecr4-full | 200000 | full |
| 200000basedr-2-full | 200000 | full |
| 200000basedr-full | 200000 | full |
| 200000basedr2-full | 200000 | full |
| 200000basedr4-full | 200000 | full |
| 200000basekr-full | 200000 | full |
| 200000basekr2-full | 200000 | full |
| 200000basekr4-full | 200000 | full |
| 200000baselr2-er2-fr2-full | 200000 | full |
| 200000baselr4-er4-fr4-full | 200000 | full |
| 200000basesr-full | 200000 | full |
| 200000basesr2-full | 200000 | full |
| 200000basesr4-full | 200000 | full |
| 200000basevr-full | 200000 | full |
| 400000basecr2-full | 400000 | full |
| 400000basecr4-full | 400000 | full |
| 400000basecr8-full | 400000 | full |
| 400000basedr2-2-full | 400000 | full |
| 400000basedr2-full | 400000 | full |
| 400000basedr4-full | 400000 | full |
| 400000basedr8-full | 400000 | full |
| 400000basekr2-full | 400000 | full |
| 400000basekr4-full | 400000 | full |
| 400000basekr8-full | 400000 | full |
| 400000baselr4-er4-fr4-full | 400000 | full |
| 400000baselr8-er8-fr8-full | 400000 | full |
| 400000basesr2-full | 400000 | full |
| 400000basesr4-full | 400000 | full |
| 400000basesr8-full | 400000 | full |
| 400000basevr2-full | 400000 | full |
| 800000basecr4-full | 800000 | full |
| 800000basecr8-full | 800000 | full |
| 800000basedr4-2-full | 800000 | full |
| 800000basedr4-full | 800000 | full |
| 800000basedr8-2-full | 800000 | full |
| 800000basedr8-full | 800000 | full |
| 800000basekr4-full | 800000 | full |
| 800000basekr8-full | 800000 | full |
| 800000basesr4-full | 800000 | full |
| 800000basesr8-full | 800000 | full |
| 800000basevr4-full | 800000 | full |
| 800000basevr8-full | 800000 | full |
| 1600000basecr8-full | 1600000 | full |
| 1600000basedr8-2-full | 1600000 | full |
| 1600000basedr8-full | 1600000 | full |
| 1600000basekr8-full | 1600000 | full |
| asym-pause | ||
| aui | ||
| autonegotiation | ||
| backplane | ||
| bnc | ||
| fec-baser | ||
| fec-llrs | ||
| fec-none | ||
| fec-rs | ||
| fibre | ||
| mii | ||
| pause | ||
| tp |
به طور پیشفرض، این گزینه تنظیم نشده است، یعنی تمام حالتهای ممکن اعلان خواهند شد. این گزینه ممکن است بیش از یک بار مشخص شود که در این صورت تمام سرعتها و حالتهای مشخصشده اعلان میشوند. اگر یک رشته خالی به این گزینه اختصاص یابد، فهرست بازنشانی شده و تمام تخصیصهای قبلی بیاثر خواهند بود.
افزوده شده در نسخه 240.
ReceiveChecksumOffload=
افزوده شده در نسخه 245.
TransmitChecksumOffload=
افزوده شده در نسخه 245.
ScatterGather=
افزوده شده در نسخه 260.
ScatterGatherFragmentList=
افزوده شده در نسخه 260.
TCPSegmentationOffload=
افزوده شده در نسخه 232.
TCPECNSegmentationOffload=
افزوده شده در نسخه 260.
TCPMangleIdSegmentationOffload=
افزوده شده در نسخه 260.
TCP6SegmentationOffload=
افزوده شده در نسخه 235.
GenericSegmentationOffload=
افزوده شده در نسخه 232.
PartialGenericSegmentationOffload=
افزوده شده در نسخه 258.
GenericReceiveOffload=
افزوده شده در نسخه 232.
GenericReceiveOffloadHardware=
افزوده شده در نسخه 250.
GenericReceiveOffloadList=
افزوده شده در نسخه 260.
GenericReceiveOffloadUDPForwarding=
افزوده شده در نسخه 260.
LargeReceiveOffload=
افزوده شده در نسخه 232.
ReceivePacketSteeringCPUMask=
افزوده شده در نسخه 256.
IRQAffinityPolicy=
این گزینه فقط برای دستگاههایی با وقفههای MSI/MSI-X که از طریق /sys/class/net/iface/device/msi_irqs/ قابلشناسایی هستند اعمال میشود. دستگاههای مجازی (veth، tap) و دستگاههای سنتی INTx با ثبت یک اعلان نادیده گرفته میشوند.
توجه داشته باشید که اگر irqbalance(1) یا دیمنهای مدیریت IRQ مشابه در حال اجرا باشند، ممکن است وابستگی پیکربندیشده را بازنویسی کنند. غیرفعال کردن چنین دیمنهایی یا پیکربندی آنها برای مستثنی کردن رابطهای تحت مدیریت را در نظر بگیرید.
افزوده شده در نسخه 260.
IRQAffinity=
افزوده شده در نسخه 260.
IRQAffinityNUMA=
هنگامی که هر دو گزینهٔ IRQAffinity= و IRQAffinityNUMA= مشخص شوند، اشتراک آنها استفاده میشود. اگر اشتراک منجر به یک مجموعه خالی شود، یک خطا ثبت شده و هیچ وابستگی اعمال نمیشود. اگر IRQAffinityPolicy= تنظیم نشده باشد، هیچ اثری ندارد.
افزوده شده در نسخه 260.
ReceiveVLANCTAGHardwareAcceleration=
افزوده شده در نسخه 250.
TransmitVLANCTAGHardwareAcceleration=
افزوده شده در نسخه 250.
ReceiveVLANCTAGFilter=
افزوده شده در نسخه 250.
TransmitVLANSTAGHardwareAcceleration=
افزوده شده در نسخه 250.
NTupleFilter=
افزوده شده در نسخه 250.
ReceiveFCS=
افزوده شده در نسخه 258.
ReceiveAll=
افزوده شده در نسخه 258.
RxChannels=, TxChannels=, OtherChannels=, CombinedChannels=
افزوده شده در نسخه 239.
RxBufferSize=, RxMiniBufferSize=, RxJumboBufferSize=, TxBufferSize=
افزوده شده در نسخه 244.
RxFlowControl=
افزوده شده در نسخه 246.
TxFlowControl=
افزوده شده در نسخه 246.
AutoNegotiationFlowControl=
افزوده شده در نسخه 246.
GenericSegmentOffloadMaxBytes=
افزوده شده در نسخه 248.
GenericSegmentOffloadMaxSegments=
افزوده شده در نسخه 248.
UseAdaptiveRxCoalesce=, UseAdaptiveTxCoalesce=
افزوده شده در نسخه 250.
RxCoalesceSec=, RxCoalesceIrqSec=, RxCoalesceLowSec=, RxCoalesceHighSec=, TxCoalesceSec=, TxCoalesceIrqSec=, TxCoalesceLowSec=, TxCoalesceHighSec=
افزوده شده در نسخه 250.
RxMaxCoalescedFrames=, RxMaxCoalescedIrqFrames=, RxMaxCoalescedLowFrames=, RxMaxCoalescedHighFrames=, TxMaxCoalescedFrames=, TxMaxCoalescedIrqFrames=, TxMaxCoalescedLowFrames=, TxMaxCoalescedHighFrames=
افزوده شده در نسخه 250.
CoalescePacketRateLow=, CoalescePacketRateHigh=
افزوده شده در نسخه 250.
CoalescePacketRateSampleIntervalSec=
افزوده شده در نسخه 250.
StatisticsBlockCoalesceSec=
افزوده شده در نسخه 250.
MDI=
افزوده شده در نسخه 251.
SR-IOVVirtualFunctions=
افزوده شده در نسخه 251.
گزینههای بخش [SR-IOV] ([SR-IOV] SECTION OPTIONS)
فناوری SR-IOV قابلیت تقسیم یک منبع PCI فیزیکی واحد را به توابع PCI مجازی فراهم میکند که سپس میتوانند برای مثال به یک ماشین مجازی (VM) تزریق شوند. در مورد VFهای شبکه، SR-IOV با اجازه دادن به ترافیک برای دور زدن پشته شبکه ماشین میزبان، تاخیر و استفاده از CPU را برای ترافیک شبکه شمال-جنوب (یعنی ترافیکی با نقاط پایانی خارج از ماشین میزبان) کاهش میدهد.
وجود بخش [SR-IOV] در یک فایل .link باعث ایجاد و پیکربندی تابع مجازی مشخصشده میشود. درون یک فایل .network، تابع مجازی مشخصشده پیکربندی خواهد شد، اما باید از قبل وجود داشته باشد. برای پیکربندی چندین SR-IOV، چندین بخش [SR-IOV] را مشخص کنید.
بخش [SR-IOV] کلیدهای زیر را میپذیرد:
VirtualFunction=
افزوده شده در نسخه 251.
VLANId=
افزوده شده در نسخه 251.
QualityOfService=
افزوده شده در نسخه 251.
VLANProtocol=
افزوده شده در نسخه 251.
MACSpoofCheck=
افزوده شده در نسخه 251.
QueryReceiveSideScaling=
افزوده شده در نسخه 251.
Trust=
افزوده شده در نسخه 251.
LinkState=
افزوده شده در نسخه 251.
MACAddress=
افزوده شده در نسخه 251.
گزینههای بخش [ENERGYEFFICIENTETHERNET] ([ENERGYEFFICIENTETHERNET] SECTION OPTIONS)
بخش [EnergyEfficientEthernet] قابلیت اترنت با مصرف بهینه انرژی (EEE) رابط را کنترل میکند، و کلیدهای زیر را میپذیرد:
Enable=
افزوده شده در نسخه 258.
TxLowPowerIdle=
افزوده شده در نسخه 258.
TxLowPowerIdleSec=
افزوده شده در نسخه 258.
LinkMode=
افزوده شده در نسخه 258.
مشخصکنندهها (SPECIFIERS)
برخی تنظیمات مشخصکنندههایی را تفکیک میکنند که ممکن است برای نوشتن فایلهای واحد عمومی با اشاره به پارامترهای زمان اجرا یا واحد استفاده شوند که هنگام بارگذاری فایلهای واحد جایگزین میشوند. برای اینکه تنظیم معتبر باشد، مشخصکنندهها باید شناختهشده و قابلتفکیک باشند. مشخصکنندههای زیر درک میشوند:
جدول 2. مشخصکنندههای موجود در فایلهای واحد
| مشخصکننده | مفهوم | جزئیات |
| "%a" | معماری | یک رشته کوتاه که معماری سیستم محلی را مشخص میکند. رشتهای مانند x86، x86-64 یا arm64. برای فهرست کامل، به معماریهای تعریفشده برای ConditionArchitecture= در systemd.unit(5) مراجعه کنید. |
| "%A" | نسخه ایمیج سیستمعامل | شناسه نسخه ایمیج سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد IMAGE_VERSION= در /etc/os-release خوانده میشود. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%b" | شناسه بوت | شناسه بوت سیستم در حال اجرا، قالببندیشده به صورت رشته. برای اطلاعات بیشتر به random(4) مراجعه کنید. |
| "%B" | شناسه ساخت سیستمعامل | شناسه ساخت سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد BUILD_ID= در /etc/os-release خوانده میشود. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%H" | نام میزبان | نام میزبان سیستم در حال اجرا. |
| "%l" | نام کوتاه میزبان | نام میزبان سیستم در حال اجرا، کوتاهشده در اولین نقطه برای حذف هرگونه مؤلفه دامنه. |
| "%m" | شناسه ماشین | شناسه ماشینِ سیستم در حال اجرا، قالببندیشده به صورت رشته. برای اطلاعات بیشتر به machine-id(5) مراجعه کنید. |
| "%M" | شناسه ایمیج سیستمعامل | شناسه ایمیج سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد IMAGE_ID= در /etc/os-release خوانده میشود. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%o" | شناسه سیستمعامل | شناسه سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد ID= در /etc/os-release خوانده میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%q" | نام زیبای میزبان | نام زیبای میزبانِ (pretty hostname) سیستم در حال اجرا، همانطور که از فیلد PRETTY_HOSTNAME= در /etc/machine-info خوانده میشود. اگر تنظیم نشده باشد، به نام کوتاه میزبان تبدیل میشود. برای اطلاعات بیشتر به machine-info(5) مراجعه کنید. |
| "%T" | دایرکتوری فایلهای موقت | این یا /tmp است یا مسیری که "$TMPDIR"، "$TEMP" یا "$TMP" روی آن تنظیم شدهاند. (توجه داشته باشید که دایرکتوری ممکن است بدون خط مورب انتهایی مشخص شود.) |
| "%v" | انتشار هسته | همانند خروجی دستور uname -r. |
| "%V" | دایرکتوری برای فایلهای موقت بزرگتر و پایدار | این یا /var/tmp است یا مسیری که "$TMPDIR"، "$TEMP" یا "$TMP" روی آن تنظیم شدهاند. (توجه داشته باشید که دایرکتوری ممکن است بدون خط مورب انتهایی مشخص شود.) |
| "%w" | شناسه نسخه سیستمعامل | شناسه نسخه سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد VERSION_ID= در /etc/os-release خوانده میشود. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
| "%W" | شناسه گونه سیستمعامل | شناسه گونهٔ (واریانت) سیستمعاملِ سیستم در حال اجرا، همانطور که از فیلد VARIANT_ID= در /etc/os-release خوانده میشود. اگر تنظیم نشده باشد، به یک رشته خالی تبدیل میشود. برای اطلاعات بیشتر به os-release(5) مراجعه کنید. |
مثالها (EXAMPLES)
مثال 1. /usr/lib/systemd/network/99-default.link
فایل link به نام 99-default.link که همراه با systemd ارائه میشود، سیاستهای پیشفرض را برای نام رابط، نامهای جایگزین و آدرس MAC پیوندها تعریف میکند.
[Match] OriginalName=* [Link] NamePolicy=keep kernel database onboard slot path AlternativeNamesPolicy=database onboard slot path MACAddressPolicy=persistent
مثال 2. /etc/systemd/network/10-dmz.link
این مثال نام ثابت "dmz0" را به رابط با آدرس MAC برابر با 00:a0:de:63:7a:e6 اختصاص میدهد:
[Match] MACAddress=00:a0:de:63:7a:e6 [Link] Name=dmz0
NamePolicy= تنظیم نشده است، بنابراین Name= اعمال میشود. ما از پیشوند "10-" استفاده میکنیم تا این فایل در ابتدای فهرست قرار گیرد. توجه داشته باشید که این فایل باید قبل از 99-default.link قرار گیرد، یعنی برای اینکه اصلاً اعمال شود نیاز به یک پیشوند عددی دارد.
مثال 3. اعمال (مجدد) یک فایل .link روی یک رابط
پس از ایجاد یک فایل .link جدید یا تغییر یک فایل .link موجود، تنظیمات جدید ممکن است با دستورهای زیر روی رابط منطبق اعمال شوند:
$ sudo udevadm control --reload $ sudo ip link set eth0 down $ sudo udevadm trigger --verbose --settle --action add /sys/class/net/eth0
همچنین ممکن است لازم باشد قبل از عملیات فوق، سرویسی را که رابط شبکه را مدیریت میکند، برای مثال systemd-networkd.service(8) یا NetworkManager.service متوقف کنید و سپس پس از آن سرویس را مجدداً راهاندازی نمایید. برای جزئیات بیشتر درباره دستور udevadm، udevadm(8) را ببینید.
مثال 4. اشکالزدایی از تخصیصهای NamePolicy=
$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/hub0 ... Parsed configuration file /usr/lib/systemd/network/99-default.link Parsed configuration file /etc/systemd/network/10-eth0.link ID_NET_DRIVER=cdc_ether Config file /etc/systemd/network/10-eth0.link applies to device hub0 link_config: autonegotiation is unset or enabled, the speed and duplex are not writable. hub0: Device has name_assign_type=4 Using default interface naming scheme 'v240'. hub0: Policies did not yield a name, using specified Name=hub0. ID_NET_LINK_FILE=/etc/systemd/network/10-eth0.link ID_NET_NAME=hub0 ...
پیکربندی صریح Name= در این حالت برنده میشود.
sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/enp0s31f6 ... Parsed configuration file /usr/lib/systemd/network/99-default.link Parsed configuration file /etc/systemd/network/10-eth0.link Created link configuration context. ID_NET_DRIVER=e1000e Config file /usr/lib/systemd/network/99-default.link applies to device enp0s31f6 link_config: autonegotiation is unset or enabled, the speed and duplex are not writable. enp0s31f6: Device has name_assign_type=4 Using default interface naming scheme 'v240'. enp0s31f6: Policy *keep*: keeping existing userspace name enp0s31f6: Device has addr_assign_type=0 enp0s31f6: MAC on the device already matches policy *persistent* ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link ...
در این حالت، رابط قبلاً تغییر نام داده شده بود، بنابراین سیاست keep که به عنوان اولین گزینه در 99-default.link مشخص شده است به این معنی است که نام موجود حفظ میشود. اگر keep حذف میشد، یا اگر در مرحلهای از بوت قبل از انجام تغییر نام بودیم، ممکن بود در عوض خروجی زیر را دریافت کنیم:
enp0s31f6: Policy *path* yields "enp0s31f6". enp0s31f6: Device has addr_assign_type=0 enp0s31f6: MAC on the device already matches policy *persistent* ID_NET_LINK_FILE=/usr/lib/systemd/network/99-default.link ID_NET_NAME=enp0s31f6 ...
لطفاً توجه داشته باشید که جزئیات خروجی ممکن است تغییر کند.
مثال 5. /etc/systemd/network/10-internet.link
این مثال نام ثابت "internet0" را به رابط با مسیر دستگاه "pci-0000:00:1a.0-*" اختصاص میدهد:
[Match] Path=pci-0000:00:1a.0-* [Link] Name=internet0
مثال 6. /etc/systemd/network/25-wireless.link
در اینجا یک مثال پیچیده آورده شده است که استفاده از تعداد زیادی از تنظیمات [Match] و [Link] را نشان میدهد.
[Match] MACAddress=12:34:56:78:9a:bc Driver=brcmsmac Path=pci-0000:02:00.0-* Type=wlan Virtualization=no Host=my-laptop Architecture=x86-64 [Link] Name=wireless0 MTUBytes=1450 BitsPerSecond=10M WakeOnLan=magic MACAddress=cb:a9:87:65:43:21
همچنین ببینید (SEE ALSO)
systemd-udevd.service(8), udevadm(8), systemd.netdev(5), systemd.network(5), systemd-network-generator.service(8)
نکات (NOTES)
- 1.
- 💣💥🧨💥💥💣 لطفاً توجه داشته باشید که این فایلهای پیکربندی باید همیشه در دسترس باشند. اگر /usr/local/ یک پارتیشن جداگانه باشد، ممکن است در طول مراحل اولیه بوت در دسترس نباشد و نباید برای پیکربندی استفاده شود.
- 2.
- اعتبارنامههای سیستم و سرویس
- 3.
- تخلیه بار قطعهبندی عمومی جزئی
| systemd 261.2 |