ifconfig مخفف “interface configurator”، یک ابزار مدیریت شبکه است که برای کانفیگ و مشاهده وضعیت کارت های شبکه در سیستم عامل های لینوکس استفاده می شود. با ifconfig می توانید آدرس های IP را اختصاص دهید، رابط ها را فعال یا غیرفعال کنید، حافظه پنهان ARP، مسیرها و موارد دیگر را مدیریت کنید. در این مقاله با ما همراه باشید تا شما عزیزان را با نحوه استفاده از دستور ifconfig در لینوکس آشنا کنیم.
دستور ifconfig حذف شده و با ip جایگزین می شود و ممکن است در توزیع های جدیدتر لینوکس موجود نباشد. اگر پیام خطایی با عنوان “ifconfig: command not found” دریافت کردید، به این معنی است که بسته حاوی دستور ifconfig بر روی سیستم شما نصب نشده است.
در توزیع های لینوکس مبتنی بر اوبونتو و دبیان، دستور زیر را برای نصب ifconfig اجرا کنید:
sudo apt install net-tools -y
برای نصب ifconfig در CentOS و سایر توزیع های لینوکس مبتنی بر RHEL، دستور زیر را اجرا کنید:
sudo dnf install net-tools -y
نحوه استفاده از دستور ifconfig در زیر نشان داده شده است:
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
تنظیمات تنظیم شده با دستور ifconfig پایدار نیستند. پس از راه اندازی مجدد سیستم، تمام تغییرات از بین می روند. برای دائمی کردن تغییرات، باید فایل های کانفیگ distro-specific را ویرایش کنید یا دستورات را به یک اسکریپت راه اندازی اضافه کنید. فقط کاربران root یا با امتیاز sudo می توانند کارت های شبکه را کانفیگ کنند.
هنگامی که بدون هیچ گزینه ای فراخوانی می شود، ifconfig اطلاعات کانفیگ تمام کارت های شبکه و آدرس IP مرتبط را نمایش می دهد:
ifconfig -a
خروجی شامل اطلاعاتی در مورد تمام کارت های شبکه فعال و غیر فعال است:
docker0 Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:4198 errors:0 dropped:0 overruns:0 frame:0 TX packets:4198 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:498729 (498.7 KB) TX bytes:498729 (498.7 KB) eth0 Link encap:Ethernet HWaddr 4c:bb:58:9c:f5:55 inet addr:172.20.10.3 Bcast:172.20.10.15 Mask:255.255.255.240 inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:84110 errors:0 dropped:0 overruns:0 frame:0 TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:70667629 (70.6 MB) TX bytes:20886290 (20.8 MB)
برای نمایش اطلاعات کانفیگ هر کارت شبکه خاص، نام رابط را بعد از دستور ifconfig بنویسید:
ifconfig eth0
خروجی چیزی شبیه به دستور زیر خواهد بود:
eth0 Link encap:Ethernet HWaddr 4c:bb:58:9c:f5:55 inet addr:172.20.10.3 Bcast:172.20.10.15 Mask:255.255.255.240 inet6 addr: 2401:4900:1d65:40a1:4ebb:58ff:fe9c:f555/64 Scope:Global inet6 addr: 2401:4900:1d65:40a1:f1c9:6a90:2d99:924e/64 Scope:Global inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:84110 errors:0 dropped:0 overruns:0 frame:0 TX packets:59727 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:70667629 (70.6 MB) TX bytes:20886290 (20.8 MB)
با دستور ifconfig می توانید یک آدرس IP و netmask را به یک کارت شبکه اختصاص دهید. برای تخصیص آدرس IP و netmask از دستور زیر استفاده کنید:
ifconfig [interface-name] [ip-address] netmask [subnet-mask]
به عنوان مثال، برای اختصاص آدرس IP 192.168.0.101 و netmask 255.255.0.0 به رابط eth0، باید دستور زیر را اجرا کنید:
ifconfig eth0 192.168.0.101 netmask 255.255.0.0
همچنین می توانید یک آدرس IP ثانویه را با استفاده از نام مستعار رابط به یک کارت شبکه اختصاص دهید:
ifconfig eth0:0 192.168.0.102 netmask 255.255.0.0
گاهی اوقات، ممکن است لازم باشد کارت شبکه را بازنشانی کنید. در این حالت می توان از دستور ifconfig برای فعال یا غیرفعال کردن کارت شبکه استفاده کرد. برای غیرفعال کردن یک رابط فعال شبکه، نام دستگاه را به همراه down flag وارد کنید:
ifconfig eth0 down
برای فعال کردن یک رابط شبکه غیر فعال، از up flag استفاده کنید:
ifconfig eth0 up
Promiscuous به یک کارت شبکه اجازه می دهد تا به تمام بسته های موجود در یک شبکه دسترسی داشته باشد و آنها را مشاهده کند. می توانید از دستور ifconfig برای فعال و غیرفعال کردن promiscuous در یک دستگاه شبکه خاص استفاده کنید. برای فعال کردن حالت غیرقانونی در یک کارت شبکه، promisc flag را بعد از نام دستگاه وارد کنید:
ifconfig eth0 promisc
برای غیرفعال کردن حالت promiscuous، از promisc flag- استفاده کنید:
ifconfig eth0 -promisc
MTU “Maximum Transmission Unit” به شما امکان می دهد اندازه بسته هایی را که در یک رابط ارسال می شوند محدود کنید. می توانید مقدار MTU را با استفاده از syntax تغییر دهید:
ifconfig [interface-name] mtu [mtu-value]
به عنوان مثال، مقدار MTU یک کارت شبکه eth0 را روی ۵۰۰ تنظیم کنید، دستور زیر را اجرا کنید:
ifconfig eth0 mtu 500
MAC “Media Access Control” آدرس فیزیکی است که دستگاه های موجود در شبکه را به طور منحصر به فرد شناسایی می کند. برای تغییر آدرس MAC یک کارت شبکه، از hw ether flag برای تنظیم آدرس MAC جدید استفاده کنید:
ifconfig eth0 hw ether 00:00:2d:3a:2a:28
ما به شما نشان دادیم که چگونه از دستور ifconfig برای کانفیگ و نمایش اطلاعات یک کارت شبکه استفاده کنید.
امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.😊