IFTAB(5) راهنمای برنامه‌نویس لینوکس IFTAB(5)

iftab - اطلاعات ایستا درباره واسط‌های شبکه

فایل /etc/iftab شامل اطلاعات توصیفی درباره واسط‌های گوناگون شبکه است. iftab فقط توسط برنامه ifrename(8) برای اختصاص دادن یک نام واسط شبکه پایدار و سازگار به هر واسط شبکه استفاده می‌شود.

/etc/iftab مجموعه‌ای از نگاشت‌ها (mappings) را تعریف می‌کند. هر نگاشت شامل یک نام واسط و مجموعه‌ای از انتخاب‌کننده‌ها (selectors) است. انتخاب‌کننده‌ها به ifrename اجازه می‌دهند تا هر واسط شبکه روی سیستم را شناسایی کند. اگر یک واسط شبکه با تمام توصیف‌کننده‌های یک نگاشت مطابقت داشته باشد، ifrename تلاش می‌کند نام آن واسط را به نام واسط مشخص‌شده توسط نگاشت تغییر دهد.

هر نگاشت در یک خط جداگانه توصیف می‌شود؛ با یک نام واسط آغاز می‌شود و شامل مجموعه‌ای از توصیف‌کننده‌ها است که با فاصله (space) یا تب (tab) از هم جدا شده‌اند.

رابطه بین توصیف‌کننده‌های یک نگاشت، یک «و» منطقی (logical and) است. یک نگاشت تنها در صورتی با یک واسط شبکه مطابقت دارد که تمام توصیف‌کننده‌ها مطابقت داشته باشند. اگر یک واسط شبکه از یک توصیف‌کننده خاص پشتیبانی نکند، با هیچ‌یک از نگاشت‌هایی که از آن توصیف‌کننده استفاده می‌کنند مطابقت نخواهد داشت.

اگر می‌خواهید از توصیف‌کننده‌های جایگزین برای یک نام واسط استفاده کنید («یا» منطقی)، دو نگاشت متفاوت با همان نام واسط تعیین کنید (هر کدام در یک خط). ifrename همیشه از اولین نگاشت منطبق، با شروع از انتهای iftab استفاده می‌کند؛ بنابراین نگاشت‌های محدودکننده‌تر باید در آخر مشخص شوند.

بخش اول هر نگاشت، نام واسط است. اگر یک واسط شبکه با تمام توصیف‌کننده‌های یک نگاشت مطابقت داشته باشد، ifrename تلاش می‌کند تا نام واسط را به نام واسط ارائه‌شده توسط نگاشت تغییر دهد.

نام واسط یک نگاشت یا یک نام واسط ساده است (مانند eth2 یا wlan1) یا یک الگوی نام واسط حاوی یک نویسه عمومی/جانشین (wildcard) است (مانند eth* یا wlan*). در صورت استفاده از نویسه جانشین، هسته (kernel) علامت '*' را با کمترین عدد صحیح در دسترس جایگزین می‌کند تا نام این واسط یکتا شود. توجه داشته باشید که نویسه جانشین فقط برای هسته ۲.۶.۱ و ۲.۴.۳۰ و بالاتر پشتیبانی می‌شود.

توصیه نمی‌شود که واسط‌ها را به نام‌های پیش‌فرض واسط‌ها مانند eth0، wlan0 یا ppp0 نگاشت دهید. هسته از این نام‌ها به عنوان نام پیش‌فرض برای هر واسط جدید استفاده می‌کند، بنابراین به احتمال زیاد یک واسط از قبل از این نام استفاده کرده و مانع از استفاده ifrename از آن می‌شود. حتی اگر از قابلیت تصاحب (takeover) استفاده کنید، ممکن است در برخی موارد واسط از قبل فعال (up) باشد. استفاده نکردن از این نام‌ها به شما این امکان را می‌دهد که واسط‌های پیکربندی‌نشده یا جدید را بلافاصله تشخیص دهید.
نام‌های مناسب یا کاملاً یکتا و معنادار هستند، مانند mydsl یا privatehub، یا از اعداد صحیح بزرگ‌تر استفاده می‌کنند، مانند eth5 یا wlan5. نوع دوم معمولاً برای ادغام در ابزارهای مختلف شبکه آسان‌تر است.

هر توصیف‌کننده از یک نام توصیف‌کننده و یک مقدار توصیف‌کننده تشکیل شده است. توصیف‌کننده‌ها یک ویژگی ایستا از یک واسط شبکه را مشخص می‌کنند و هدف آن‌ها شناسایی یکتای هر قطعه سخت‌افزاری است.

بیشتر کاربران علی‌رغم مشکلات احتمالی آن، تنها از انتخاب‌کننده mac استفاده خواهند کرد؛ سایر انتخاب‌کننده‌ها برای پیکربندی‌های تخصصی‌تر هستند. بیشتر انتخاب‌کننده‌ها یک '*' را در مقدار انتخاب‌کننده برای تطبیق با نویسه جانشین می‌پذیرند، و اکثر انتخاب‌کننده‌ها به حروف بزرگ و کوچک حساس نیستند.

نشانی MAC واسط را با نشانی MAC مشخص‌شده تطبیق می‌دهد. نشانی MAC واسط را می‌توان با استفاده از ifconfig(8) یا ip(8) مشاهده کرد.
این رایج‌ترین انتخاب‌کننده است، زیرا اکثر واسط‌ها دارای یک نشانی MAC یکتا هستند که امکان شناسایی واسط‌های شبکه را بدون ابهام فراهم می‌کند. با این حال، برخی از واسط‌ها تا زمانی که راه‌اندازی و فعال نشوند، نشانی MAC معتبری ندارند؛ در چنین مواردی استفاده از این انتخاب‌کننده پیچیده یا غیرممکن است.
نوع ARP (که نوع پیوند یا Link Type نیز نامیده می‌شود) واسط را با نوع ARP مشخص‌شده به صورت یک عدد تطبیق می‌دهد. نوع ARP واسط را می‌توان با استفاده از ifconfig(8) یا ip(8) مشاهده کرد؛ نوع link/ether مطابق با 1 و نوع link/ieee802.11 مطابق با 801 است.
این انتخاب‌کننده زمانی مفید است که یک درایور چندین واسط شبکه برای یک کارت شبکه منفرد ایجاد کند.
نام درایور واسط را با نام درایور مشخص‌شده تطبیق می‌دهد. نام درایور واسط را می‌توان با استفاده از ethtool -i(8) مشاهده کرد.
اطلاعات گذرگاه (Bus Information) واسط را با اطلاعات گذرگاه مشخص‌شده تطبیق می‌دهد. اطلاعات گذرگاه واسط را می‌توان با استفاده از ethtool -i(8) مشاهده کرد.
نسخه سفت‌افزار (Firmware Revision) واسط را با اطلاعات نسخه سفت‌افزار تطبیق می‌دهد. نسخه سفت‌افزار واسط را می‌توان با استفاده از ethtool -i(8) مشاهده کرد.
نشانی پایه (Base Address) واسط را با نشانی پایه مشخص‌شده تطبیق می‌دهد. نشانی پایه واسط را می‌توان با استفاده از ifconfig(8) مشاهده کرد.
از آنجا که اکثر کارت‌ها از تخصیص پویای نشانی پایه استفاده می‌کنند، این انتخاب‌کننده فقط برای کارت‌های ISA و EISA کاربرد دارد.
خط وقفه یا IRQ Line واسط را با خط IRQ مشخص‌شده تطبیق می‌دهد. خط IRQ واسط را می‌توان با استفاده از ifconfig(8) مشاهده کرد.
از آنجا که خطوط IRQ ممکن است به اشتراک گذاشته شوند، این انتخاب‌کننده معمولاً برای شناسایی یکتای یک واسط کافی نیست.
پروتکل بی‌سیم (Wireless Protocol) واسط را با پروتکل بی‌سیم مشخص‌شده تطبیق می‌دهد. پروتکل بی‌سیم واسط را می‌توان با استفاده از iwconfig(8) یا iwgetid(8) مشاهده کرد.
این انتخاب‌کننده فقط روی واسط‌های بی‌سیم پشتیبانی می‌شود و برای شناسایی یکتای یک واسط کافی نیست.
شماره سوکت PCMCIA واسط را با شماره اسلات مشخص‌شده تطبیق می‌دهد. شماره سوکت PCMCIA واسط را می‌توان با استفاده از cardctl ident(8) مشاهده کرد.
این انتخاب‌کننده معمولاً فقط روی کارت‌های ۱۶ بیتی پشتیبانی می‌شود؛ برای کارت‌های ۳۲ بیتی توصیه می‌شود از انتخاب‌کننده businfo استفاده کنید.
نام واسط را پیش از تغییر نام با نام قدیمی مشخص‌شده تطبیق می‌دهد.
از این انتخاب‌کننده باید اجتناب شود زیرا نام قبلی واسط ممکن است بسته به شرایط مختلف تغییر کند. به‌روزرسانی سیستم/هسته/درایور ممکن است نام اصلی را تغییر دهد؛ سپس، ifrename یا ابزار دیگری ممکن است پیش از اجرای این انتخاب‌کننده، نام آن را تغییر داده باشد.
محتوای ویژگی sysfs ارائه‌شده توسط نام فایل را با مقدار مشخص‌شده تطبیق می‌دهد. برای پیوندهای نمادین (symlinks) و شاخه‌های والد، نام واقعی شاخه ویژگی sysfs ارائه‌شده توسط نام فایل را با مقدار مشخص‌شده تطبیق می‌دهد.
فهرستی از مفیدترین ویژگی‌های sysfs در بخش بعدی ارائه شده است.

ویژگی‌های sysfs برای یک واسط خاص در بیشتر سیستم‌ها در شاخه‌ای به نام همان واسط در /sys/class/net/ قرار دارند. بیشتر ویژگی‌های sysfs فایل هستند و مقادیر آن‌ها را می‌توان با استفاده از cat(1) یا more(1) خواند. همچنین تطبیق ویژگی‌ها در زیرشاخه‌ها نیز امکان‌پذیر است.

برخی از ویژگی‌های sysfs پیوندهای نمادین هستند که به شاخه دیگری در sysfs اشاره می‌کنند. اگر نام فایل ویژگی یک پیوند نمادین باشد، ویژگی sysfs با استفاده از readlink(1) به نام شاخه‌ای که پیوند نمادین به آن اشاره دارد تبدیل می‌شود. مکان شاخه در درخت sysfs نیز مهم است. اگر نام فایل ویژگی به /.. ختم شود، ویژگی sysfs با استفاده از pwd(1) به نام واقعی شاخه والد تبدیل می‌شود.

سیستم فایل sysfs فقط با هسته 2.6.X پشتیبانی می‌شود و باید سوار (mount) شده باشد (معمولاً در /sys). انتخاب‌کننده‌های sysfs به اندازه سایر انتخاب‌کننده‌ها کارآمد نیستند، بنابراین برای حداکثر کارایی باید از آن‌ها اجتناب شود.

این‌ها ویژگی‌های رایج sysfs و توصیف‌کننده‌های معادل آن‌ها در ifrename هستند:

مشابه توصیف‌کننده mac.
مشابه توصیف‌کننده arp.
تنها تا هسته ۲.۶.۲۰ معتبر است. مشابه توصیف‌کننده businfo.
تنها از هسته ۲.۶.۲۱ معتبر است. مشابه توصیف‌کننده businfo.
تنها تا هسته ۲.۶.۲۰ معتبر است. مشابه توصیف‌کننده driver.
تنها از هسته ۲.۶.۲۱ معتبر است. مشابه توصیف‌کننده driver.
تنها تا هسته ۲.۶.۲۰ معتبر است. مشابه توصیف‌کننده irq.
تنها از هسته ۲.۶.۲۱ معتبر است. مشابه توصیف‌کننده irq.

# این یک توضیح است
eth2 mac 08:00:09:DE:82:0E
eth3 driver wavelan interrupt 15 baseaddress 0x390
eth4 driver pcnet32 businfo 0000:02:05.0
air* mac 00:07:0E:* arp 1
myvpn SYSFS{address} 00:10:83:* SYSFS{type} 1
bcm* SYSFS{device} 0000:03:00.0 SYSFS{device/driver} bcm43xx
bcm* SYSFS{..} 0000:03:00.0 SYSFS{../driver} bcm43xx

Jean Tourrilhes - jt@hpl.hp.com

/etc/iftab

ifrename(8), ifconfig(8), ip(8), ethtool(8), iwconfig(8).

26 فوریه 2007 wireless-tools