از نسخه Ubunut 16.04 ، Debian Stretch و CentOS 7 نامگذاری اینترفیس های شبکه تغییر کرده است. در ساختار قبلی پورت های شبکه با نام های ethX نام گذاری می شدند و برای کارتهای شبکه بی سیم از اسامی wlanX استفاده می کردند که به جای X شماره اینترفیس قرار میگیرد.
مشکل: مشکل شکل قدیمی نامگذاری آن است که نام اینترفیس قابل پیش بینی نیست و سیستم عامل به ترتیبی که کارت به سیستم متصل شده است عددی به آن نسبت میدهد. مثلا اگر شما یک کارت در سیستم خود دارید. آن را eth0 مینامد. در صورتی که کارت شبکه جدیدی به سیستم اضافه کنید، بدون توجه به اینکه این کارت جدید در اسلات قبل یا بعد از اینترفیس قبلی خورده است، یا اینکه کارت شبکه قبلی onboard یا غیر onboard بوده است، شماره دو را نسبت میدهد. این موضوع در حالی است که این با اضافه کردن کانفیگ برای دادن نام ثابت به یک Mac Address فراهم شده است و گرنه در حالت پیشفرض امکان تغییر نام ها نیز وجود دارد و این موضوع مشکلات زیادی را فراهم می کند. زیرا که نام اینترفیس هیچ ارتباط مستقیمی به نوع کارت و نوع اتصال آن ندارد.
نسخه systemd 197
در این نسخه استاندارد جدیدی برای نامگذاری اینترفیس شبکه تعین شده است، که مشکل بالا به روشی که اسامی اینترفیس شبکه قابل پیش بینی باشد تعیین کند. به همین منظور از ترکیب چندین روش نامگذاری استفاده است که در زیر می تونید بخونید:
- اضافه کردن ایندکسی که Firmware/BIOS برای اینترفیس های onboard ارائه می دهند مانند eno1
- اضافه کردن شماره ایندکس اسلات PCI Express ای که Firmware/BIOS ارائه میدهند. مانند ens1
- اضافه کردن محل اتصال physical/geographical که سخت افزار به آن وصل است مانند: enp2s0
- اضافه کردن MAC address به نام مانند: enx78e7d1ea46da
udev به ترتیب سعی می کند به یکی از این روش ها در صورت در دسترس بودن داده های مرتبط، نامگذاری را انجام دهد.
بازگشت به روش قدیمی
در صورتی که علاقه دارید به روش قبل باز گردید کافیست در فایل etc/default/grub/ تغییرات زیر را انجام دهید و بعد دستور update-grub را بزنید
GRUB_CMDLINE_LINUX=”net.ifnames=0 biosdevname=0″
مطالعه بیشتر
برای مطالعه بیشتر می تونید مقاله اصلی را اینحا مطالعه کنید.