IFCONFIG(8) راهنمای مدیر سیستم لینوکس IFCONFIG(8)

ifconfig - پیکربندی و نمایش رابط‌های شبکه

ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address ...

ifconfig برای پیکربندی رابط‌های شبکه مقیم در هسته به‌کار می‌رود. این دستور در زمان راه‌اندازی (بوت) سیستم جهت برپایی رابط‌ها برحسب نیاز استفاده می‌شود. پس از آن، معمولاً تنها به هنگام اشکال‌زدایی یا تنظیم دقیق سیستم مورد استفاده قرار می‌گیرد.

اگر هیچ آرگومانی داده نشود، ifconfig وضعیت رابط‌های فعال فعلی را نمایش می‌دهد. اگر یک آرگومان منفرد interface داده شود، تنها وضعیت همان رابط را نمایش می‌دهد؛ اگر یک آرگومان منفرد -a داده شود، وضعیت تمام رابط‌ها را نمایش می‌دهد، حتی مواردی که غیرفعال (down) هستند. در غیر این صورت، اقدام به پیکربندی یک رابط می‌کند.

اگر نخستین آرگومان پس از نام رابط به‌عنوان نام یکی از خانواده‌های آدرس پشتیبانی‌شده شناخته شود، از آن خانواده آدرس برای رمزگشایی و نمایش تمامی نشانی‌های پروتکل استفاده می‌شود. در حال حاضر خانواده‌های آدرس پشتیبانی‌شده عبارتند از: inet (پروتکل TCP/IP، پیش‌فرض)، inet6 (پروتکل IPv6)، ax25 (رادیوی بسته‌ای AMPR)، ddp (پروتکل Appletalk فاز ۲)، ipx (پروتکل Novell IPX) و netrom (رادیوی بسته‌ای AMPR). تمامی اعدادی که به‌عنوان بخش‌هایی از نماد ده‌دهی نقطه‌دار در IPv4 ارائه می‌شوند ممکن است ده‌دهی، اکتال (هشت‌هشتی) یا هگزادسیمال (شانزده‌شانزدهی) باشند، همان‌گونه که در استاندارد ISO C تعیین شده است (یعنی 0x یا 0X در ابتدا بیانگر هگزادسیمال است؛ در غیر این صورت، وجود '0' در ابتدا بیانگر اکتال است؛ در غیر این حالات، عدد به‌صورت ده‌دهی تفسیر می‌شود). استفاده از اعداد هگزادسیمال و اکتال با مشخصات RFC سازگار نیست و بنابراین استفاده از آن‌ها توصیه نمی‌شود.

نمایش تمام رابط‌های موجود در سیستم، حتی مواردی که غیرفعال (down) هستند.
نمایش یک فهرست خلاصه و کوتاه (مانند netstat -i).
ارائه گزارش مشروح‌تر و با جزئیات بیشتر در برخی شرایط خطا (حالت پرگو).
نام رابط شبکه. این نام معمولاً نام یک درایور به‌همراه شماره واحد آن است؛ به‌عنوان مثال eth0 برای نخستین رابط اترنت. اگر هسته شما از رابط‌های مستعار پشتیبانی می‌کند، می‌توانید آن‌ها را با ساختاری مانند eth0:0 برای نخستین رابط مستعار eth0 مشخص کنید. از این رابط‌ها می‌توان برای تخصیص نشانی‌های بیشتر استفاده کرد. برای حذف یک رابط مستعار از دستور ifconfig eth0:0 down استفاده کنید. نکته: در صورتی که نخستین رابط (رابط اصلی) را حذف کنید، تمامی رابط‌های مستعار در همان حوزه (یعنی همان شبکه با ترکیب نشانی/ماسک شبکه یکسان) حذف خواهند شد.
این فلگ باعث فعال شدن رابط شبکه می‌شود. در صورتی که یک نشانی به رابط تخصیص یابد، این رفتار به‌طور ضمنی اعمال می‌شود؛ با افزودن یک - به انتهای نام رابط مستعار (مانند eth0:0-) می‌توانید مانع از این رفتار شوید. همچنین این رفتار هنگام استفاده از نشانی IPv4 معادل 0.0.0.0 نادیده گرفته می‌شود، زیرا هسته از آن برای حذف ضمنی رابط‌های مستعار استفاده می‌کند.
این فلگ باعث خاموش و متوقف شدن درایور این رابط شبکه می‌شود.
[-]arp
فعال یا غیرفعال کردن استفاده از پروتکل ARP روی این رابط شبکه.
[-]promisc
فعال یا غیرفعال کردن حالت بی‌قید و شرط (promiscuous) رابط شبکه. در صورت فعال بودن، تمامی بسته‌های موجود در شبکه توسط رابط دریافت خواهند شد.
[-]allmulti
فعال یا غیرفعال کردن حالت چندپخشی کامل (all-multicast). در صورت فعال بودن، تمامی بسته‌های چندپخشی شبکه توسط این رابط دریافت می‌شوند.
این پارامتر «حداکثر واحد انتقال» (MTU) یک رابط را تعیین می‌کند.
تنظیم نشانی IP مقصد راه دور برای یک پیوند نقطه به نقطه (مانند PPP). این کلیدواژه اکنون منسوخ شده است؛ به‌جای آن از کلیدواژه pointopoint استفاده کنید.
تنظیم ماسک شبکه IP برای این رابط. مقدار پیش‌فرض آن ماسک معمول کلاس A، B یا C است (که از نشانی IP رابط مشتق می‌شود)، اما می‌توان آن را به هر مقداری تنظیم کرد.
افزودن یک نشانی IPv6 به رابط شبکه.
حذف یک نشانی IPv6 از رابط شبکه.
ایجاد یک دستگاه SIT جدید (IPv6 درون IPv4) که به مقصد داده‌شده تونل می‌زند.
تنظیم خط وقفه (IRQ) مورد استفاده توسط این دستگاه. همه دستگاه‌ها قادر به تغییر پویای تنظیمات IRQ خود نیستند.
تنظیم نشانی آغازین در فضای I/O برای این دستگاه.
تنظیم نشانی آغازین برای حافظه اشتراکی مورد استفاده این دستگاه. تنها دستگاه‌های اندکی به این گزینه نیاز دارند.
تنظیم درگاه فیزیکی یا نوع رسانه مورد استفاده دستگاه. همه دستگاه‌ها قادر به تغییر این تنظیم نیستند، و دستگاه‌هایی که این امکان را دارند نیز در مقادیر مورد پشتیبانی با یکدیگر تفاوت دارند. مقادیر معمول برای type عبارتند از 10base2 (اترنت نازک یا thin Ethernet)، 10baseT (اترنت ۱۰ مگابیت بر ثانیه زوج‌سیم به‌هم‌تابیده)، AUI (فرستنده-گیرنده خارجی) و موارد مشابه. نوع رسانه خاص auto می‌تواند برای درخواست از درایور جهت تشخیص خودکار رسانه استفاده شود. با این حال، همه درایورها قادر به انجام این کار نیستند.
[-]broadcast [addr]
اگر آرگومان نشانی داده شده باشد، نشانی پخش همگانی (broadcast) پروتکل را برای این رابط تنظیم می‌کند. در غیر این صورت، فلگ IFF_BROADCAST را برای رابط فعال (یا غیرفعال) می‌سازد.
[-]pointopoint [addr]
این کلیدواژه حالت نقطه به نقطه (point-to-point) یک رابط را فعال می‌سازد، به این معنا که رابط یک پیوند مستقیم بین دو ماشین است و هیچ سیستم دیگری روی آن شنود نمی‌کند.
اگر آرگومان نشانی نیز داده شده باشد، نشانی پروتکل طرف دیگر پیوند را تعیین می‌کند، درست مانند کاری که کلیدواژه منسوخ‌شده dstaddr انجام می‌دهد. در غیر این صورت، فلگ IFF_POINTOPOINT را برای رابط فعال یا غیرفعال می‌سازد.
تنظیم نشانی سخت‌افزاری این رابط، در صورتی که درایور دستگاه از این عملیات پشتیبانی کند. پس از این کلیدواژه باید نام کلاس سخت‌افزار و معادل اسکی قابل چاپ نشانی سخت‌افزاری بیاید. کلاس‌های سخت‌افزاری پشتیبانی‌شده در حال حاضر شامل ether (اترنت)، ax25 (رادیوی بسته‌ای AMPR AX.25)، ARCnet و netrom (رادیوی بسته‌ای AMPR NET/ROM) هستند.
تنظیم فلگ چندپخشی (multicast) روی رابط شبکه. در شرایط عادی نیازی به این کار نیست، زیرا خود درایورها این فلگ را به‌درستی تنظیم می‌کنند.
نشانی IP که باید به این رابط شبکه اختصاص داده شود.
تنظیم طول صف ارسال دستگاه. تنظیم این مقدار روی اعداد کوچک برای دستگاه‌های کندتر با تأخیر زیاد (مانند پیوندهای مودم یا ISDN) سودمند است تا از اختلال انتقال‌های حجیم سریع بر ترافیک‌های تعاملی مانند telnet جلوگیری شود.
تغییر نام این رابط به newname. رابط شبکه باید ابتدا خاموش (down) شود.

از نسخه 2.2 هسته لینوکس به بعد، دیگر آمار صریحی برای رابط‌های مستعار نگهداری نمی‌شود. آمارهای نمایش‌داده‌شده برای نشانی اصلی، میان تمام نشانی‌های مستعار روی همان دستگاه مشترک هستند. اگر خواهان آمار تفکیک‌شده به ازای هر نشانی هستید، باید با استفاده از دستور iptables(8) قوانین صریح حسابداری ترافیک (accounting) برای نشانی مورد نظر تعریف کنید.

از نسخه 1.60-4 ابزار net-tools به بعد، دستور ifconfig شمارنده‌های بایت و شمارنده‌های خوانا برای انسان را با واحدهای IEC 60027-2 نمایش می‌دهد؛ بنابراین ۱ کیبی‌بایت (KiB) معادل ۲ به توان ۱۰ بایت است. توجه داشته باشید که اعداد تا یک رقم اعشار کوتاه می‌شوند (که اگر در نظر بگیرید ۰٫۱ پی‌بی‌بایت برابر ۱۱۲٬۵۸۹٬۹۹۰٬۶۸۴٬۲۶۲ بایت است، می‌تواند خطای بسیار بزرگی باشد :).

مشکلات وقفه در درایورهای دستگاه اترنت با خطای EAGAIN (SIOCSIIFLAGS: Resource temporarily unavailable) مواجه می‌شوند که به احتمال زیاد ناشی از تداخل وقفه است. برای اطلاعات بیشتر پیوند http://www.scyld.com/expert/irq-conflict.html را مشاهده فرمایید.

/proc/net/dev
/proc/net/if_inet6

دستور ifconfig از روش دسترسی ioctl برای دریافت اطلاعات کامل نشانی استفاده می‌کند که نشانی‌های سخت‌افزاری را به ۸ بایت محدود می‌سازد. از آنجا که نشانی سخت‌افزاری در Infiniband دارای ۲۰ بایت است، تنها ۸ بایت اول آن به‌درستی نمایش داده می‌شود. لطفاً برای نمایش اطلاعات لایه پیوند از جمله نشانی سخت‌افزاری، از دستور ip link از بسته iproute2 استفاده کنید.

اگرچه نشانی‌های appletalk DDP و IPX نمایش داده می‌شوند، اما تغییر آن‌ها با این دستور امکان‌پذیر نیست.

route(8), netstat(8), arp(8), rarp(8), iptables(8), ifup(8), interfaces(5)
http://physics.nist.gov/cuu/Units/binary.html - پیشوندهای مضارب دوتایی

Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
Alan Cox, <Alan.Cox@linux.org>
Phil Blundell, <Philip.Blundell@pobox.com>
Andi Kleen
Bernd Eckenfels, <net-tools@lina.inka.de>

2008-10-03 net-tools