دستور ip یک ابزار ضروری برای مدیران سیستم و شبکه است. در اینجا نحوه استفاده از آن برای مدیریت شبکه ها و آدرس های IP در لینوکس آورده شده است.
اساسی ترین بخش مدیریت لینوکس و عیب یابی این است که پیکربندی IP یک سیستم را بررسی کنید تا مطمئن شوید که سیستم دارای IP معتبر است و در شبکه محلی قابل دسترسی است.
دستور ip در لینوکس ابزار قدرتمندی است که نه تنها آدرس IP فعلی یک سیستم را نمایش می دهد، بلکه به شما امکان می دهد پیکربندی فعلی رابط های شبکه، آدرس های IP، مسیرها و جداول ARP را مشاهده و مدیریت کنید.
بیایید به برخی از موارد استفاده رایج از دستور ip در لینوکس نگاه کنیم.
آدرس IP را در لینوکس پیدا کنید
برای پیدا کردن آدرس IP سیستم لینوکس خود، از دستور ip و سپس آدرس، addr یا یک گزینه استفاده کنید:
ip address
با این کار پیکربندی تمام رابط های شبکه از جمله آدرس های IP آنها نمایش داده می شود.
در مثال زیر می بینید که سیستم دارای سه رابط شبکه است: lo (آدرس حلقه بک)، ens33 و ens37. خروجی شامل اطلاعات زیر است:
- اطلاعات لایه 1 مانند قابلیت رابط و وضعیت اتصال لایه فیزیکی، MTU، وضعیت عملیاتی رابط (به عنوان مثال، بالا یا پایین)، و طول صف انتقال (qlen).
- اطلاعات لایه 2 مانند آدرس MAC رابط.
- اطلاعات لایه 3 شامل آدرس IP و نوع آن (آدرس IP پویا یا آدرس IP استاتیک) است.
برای نمایش اطلاعات مختصر در مورد رابط های شبکه، از دستور ip با گزینه –brief به صورت زیر استفاده کنید:
ip --brief address show
برای نمایش فقط اطلاعات آدرس IPv4، از دستور زیر استفاده کنید:
ip -4 addr
برای پیدا کردن اطلاعات آدرس IP یک رابط شبکه خاص، از دستور زیر استفاده کنید:
ip address show dev [interface]
به عنوان مثال، برای مشاهده آدرس IP یک رابط شبکه ens33، دستور زیر خواهد بود:
ip address show dev ens33
آدرس MAC را مشاهده و تغییر دهید
با استفاده از دستور ip می توانید مک آدرس سیستم خود را نیز مشاهده و تغییر دهید.
برای مشاهده مک آدرس سیستم لینوکس خود از دستور زیر استفاده کنید:
ip --brief link show
برای مشاهده آدرس MAC یک رابط خاص، از موارد زیر استفاده کنید:
ip --brief link show dev [interface]
برای تغییر آدرس مک، ابتدا رابط را پایین بیاورید:
sudo ip link set dev [interface] down
سپس از دستور زیر برای تغییر مک آدرس رابط کاربری خود استفاده کنید:
sudo ip link set dev [interface] address [new-mac-adddress]
پس از آن، رابط کاربری را بالا بیاورید:
sudo ip link set dev [interface] up
مشاهده آمار رابط شبکه
با استفاده از دستور ip می توانید آمار یک رابط شبکه را نیز مشاهده کنید. از دستور ip زیر برای مشاهده آمار تمام رابط های شبکه در سیستم خود استفاده کنید:
ip -s link
خروجی شامل آمارهایی مانند بایت ها/بسته های ارسال شده و دریافت شده، خطاها، بسته های حذف شده، چندپخشی و غیره است. برای نمایش آمار برای یک رابط خاص، از نحو زیر استفاده کنید:
ip -s link show dev [interface]
اصلاح خصوصیات پیوند با استفاده از ip
برای نمایش یک رابط، از دستور ip زیر استفاده کنید:
sudo ip link set [interface] up
برای پایین آوردن اینترفیس، اجرا کنید:
sudo ip link set [interface] down
همچنین می توانید MTU (حداکثر واحد انتقال) یک رابط را با استفاده از دستور زیر تغییر دهید:
sudo ip link set mtu [number] dev [interface]
به عنوان مثال، برای تنظیم MTU یک رابط شبکه ens33 روی 8000، دستور به صورت زیر خواهد بود:
sudo ip link set mtu 8000 dev ens33
افزودن/حذف آدرس IP در لینوکس
برای افزودن یک آدرس IP به یک رابط شبکه، از دستور زیر استفاده کنید:
ip addr add [ip-address] dev [interface]
برای افزودن یک آدرس IP 192.168.42.140/24 به رابط شبکه ens33، دستور زیر خواهد بود:
ip addr add 192.168.42.140/24 dev ens33
از دستور زیر برای حذف آدرس IP از یک رابط استفاده کنید:
ip addr del [ip-address] dev [interface]
برای حذف آدرس IP 192.168.42.140/24 از رابط ens33، دستور به صورت زیر خواهد بود:
ip addr del 192.168.42.140/24 dev ens33
جدول مسیریابی را در لینوکس مشاهده کنید
دستور ip route برای مشاهده و تغییر مسیرها در یک سیستم لینوکس استفاده می شود. برای نمایش جدول مسیریابی سیستم خود از دستور ip route بدون هیچ گزینه ای استفاده کنید:
ip route
هر خط در خروجی نشان دهنده یک مسیر پیکربندی شده است. یک مسیر متشکل از یک آدرس شبکه مقصد، یک جهش بعدی (یعنی آدرس IP روتر)، یک رابط که بسته از طریق آن ارسال میشود، و متریک (مقداری که برای تعیین مسیر ترجیحی در صورت وجود چندین مسیر استفاده میشود). در دسترس مقصد). مسیر با متریک پایین تر در این مورد ترجیح داده می شود.
در مثال بالا، دو ورودی اول نشاندهنده مسیر پیشفرض است که زمانی استفاده میشود که هیچ مسیر دیگری برای آدرس مقصد در دسترس نباشد. 192.168.42.2 و 192.168.10.1 آدرس های IP روتر هستند. توسعه دهنده ens33 و ens37 رابطی را نشان می دهد که برای ارسال بسته ها به روتر استفاده می شود. فیلدهای proto dhcp نشان می دهد که مسیر پیش فرض از DHCP آموخته شده است.
ورودی دوم نشان دهنده آدرس APIPA (Automatic Private IP Addressing) 169.254.0.0/16 است. هنگامی که یک میزبان نتواند یک آدرس IP از یک سرور DHCP بدست آورد، یک آدرس IP تصادفی از این شبکه به خود اختصاص می دهد. به آنها اجازه می دهد با میزبان های دیگر در زیرشبکه که نتوانسته اند آدرس IP را بدست آورند ارتباط برقرار کنند.
ورودی های سوم و چهارم آدرس های شبکه شبکه های محلی را که سیستم به آنها متصل است نشان می دهد. 192.168.10.0 شبکه ای است که رابط ens37 به آن متصل است در حالی که 192.168.42.0 شبکه ens33 به آن متصل است.
فیلد src نشان دهنده آدرس IP رابط مورد استفاده به عنوان آدرس منبع هنگام ارسال بسته ها از طریق این مسیر است.
جدول مسیریابی را با استفاده از ip تغییر دهید
برای افزودن دستی یک مسیر، از دستور ip route و سپس آدرس شبکه مقصد و IP دروازه استفاده کنید:
sudo ip route add [network-id] via [gateway-ip]
به عنوان مثال، برای اضافه کردن مسیری که تمام ترافیک مقصد شبکه 192.168.20.0 را به دروازه در 192.168.10.16 ارسال می کند، از دستور زیر استفاده می کنید:
sudo ip route add 192.168.20.0/24 via 192.168.10.16
برای افزودن مسیر پیش فرض از دستور زیر استفاده کنید:
sudo ip route add default via [ip-address] dev [interface]
به عنوان مثال، برای اضافه کردن مسیر پیشفرض که ترافیک را به روتر در 192.168.10.1 از طریق ens33 هدایت میکند، دستور به صورت زیر خواهد بود:
sudo ip route add default via 192.168.10.1 dev ens33
ip route get [ip-address]
برای حذف ورودی جدول مسیریابی، از دستور زیر استفاده کنید:
sudo ip route delete [network-address] via [gateway-ip]
همچنین می توانید مسیری را که یک آدرس طی می کند با استفاده از نحو زیر مشاهده کنید:
ip route get [ip-address]
مدیریت جدول همسایه در لینوکس
برای مشاهده و تغییر جدول همسایه که به عنوان جدول ARP نیز شناخته می شود، می توانید از دستور ip neeigh در لینوکس استفاده کنید. برای مشاهده ورودی های جدول همسایه فعلی، از دستور زیر استفاده کنید:
ip neigh show
برای افزودن یک ورودی جدید در جدول همسایه، از نحو زیر استفاده کنید:
sudo ip neigh add [ip-address] lladdr [mac-address] dev [interface]
برای حذف یک ورودی از جدول همسایه، از نحو زیر استفاده کنید:
sudo ip neigh del [ip-address] dev [interface]
به خروجی دستور ip رنگ اضافه کنید
برای سهولت و درک سریعتر خروجی، می توانید با استفاده از گزینه -c به خروجی دستور ip رنگ اضافه کنید:
ip -c a
مدیریت شبکه ها و آدرس های IP در لینوکس
دستور ip در لینوکس ابزار مفیدی برای مدیریت و عیب یابی اتصالات شبکه است. از مشاهده رابطهای شبکه و اصلاح ویژگیهای پیوند گرفته تا یافتن آدرسهای IP و مدیریت مسیرها، دستور ip به شما امکان میدهد چندین کار مدیریت سیستم را از طریق خط فرمان انجام دهید.