توزيعات لينكس المستندة إلى النواة تتميز بمجموعة من الأوامر التي توفر طريقة لتكوين الشبكات بطريقة سهلة وقوية من خلال سطر الأوامر. تتوفر هذه المجموعة من الأوامر من حزمة net-tools التي كانت متوفرة منذ وقت طويل على معظم التوزيعات، وتتضمن أوامرًا مثل: ifconfig، route، nameif، iwconfig، iptunnel، netstat، arp.

هذه الأوامر تكفي تقريبًا في تكوين الشبكة بالطريقة التي يرغب فيها أي مبتدئ أو مستخدم متقدم لنظام لينكس، ولكن بسبب التطور في نواة لينكس خلال السنوات الماضية وعدم قدرة هذه المجموعة المعبأة من الأوامر على الصيانة، فإنها تُعتبر قديمة ويظهر بديل أقوى لها.
هذا البديل موجود أيضًا منذ وقت طويل الآن وهو أكثر قوة من أي من هذه الأوامر. ستسلط باقي الأقسام الضوء على هذا البديل وتقارنه مع أحد الأوامر من حزمة net-tools أي ifconfig.
ip – بديل لـ ifconfig
ifconfig كان متوفرًا منذ وقت طويل وما زال يستخدم لتكوين وعرض والتحكم في واجهات الشبكة بواسطة العديد من الأشخاص، ولكن الآن يوجد بديل جديد على توزيعات لينكس وهو أقوى بكثير منه. هذا البديل هو أمر ip
من حزمة iproute2util.
على الرغم من أن هذا الأمر قد يبدو معقدًا في البداية إلا أنه أوسع وظيفيا من ifconfig. يتم تنظيمه وظيفيًا على طبقتين من مكدس الشبكات أي الطبقة 2 (طبقة الرابط)، الطبقة 3 (طبقة الآي بي) ويقوم بأداء عمل جميع الأوامر المذكورة أعلاه من حزمة أدوات الشبكة.
في حين أن ifconfig يعرض أو يعدل بشكل رئيسي واجهات النظام، فإن هذا الأمر قادر على أداء المهام التالية:
- عرض أو تعديل خصائص الواجهة.
- إضافة أو إزالة إدخالات ذاكرة التخزين المؤقت ARP بجانب إنشاء إدخال ARP ثابت جديد لمضيف.
- عرض عناوين MAC المرتبطة بجميع الواجهات.
- عرض وتعديل جداول توجيه النواة.
أحد النقاط الرئيسية التي تميزه عن نظيره القديم ifconfig هو أن الأخير يستخدم ioctl لتكوين الشبكة، وهو طريقة أقل تقديرًا للتفاعل مع النواة بينما يستفيد الأول من آلية مأخوذة من مأخذ الرابط الشبكي للقيام بالشيء نفسه، وهو خليفة أكثر مرونة لـ ioctl للتفاعل بين النواة ومساحة المستخدم باستخدام rtnetlink (الذي يضيف قدرة التلاعب ببيئة الشبكة).
يمكننا الآن أن نبدأ في تسليط الضوء على ميزات ifconfig وكيف يتم استبدالها بشكل فعال بواسطة أمر ip.
أوامر ip مقابل أوامر ifconfig
تسليط الضوء في هذا القسم على بعض أوامر ifconfig واستبدالها باستخدام أوامر ip:
عرض جميع واجهات الشبكة في لينكس
هنا، أحد السمات المميزة بين ip و ifconfig هو أنه في حين أن ifconfig يظهر فقط الواجهات الممكنة، فإن ip يعرض جميع الواجهات سواء كانت ممكنة أو معطلة.
أمر ifconfig
$ ifconfig

أمر ip
$ ip a

إضافة أو حذف عنوان IP في لينكس
الأمر أدناه يعين عنوان الـ IP 192.168.80.174 لواجهة eth0
.
ifconfig – إضافة/حذف عنوان IP
# ifconfig eth0 add 192.168.80.174
الصيغة لإضافة/حذف واجهة باستخدام أمر ifconfig:
# ifconfig eth0 add 192.168.80.174 # ifconfig eth0 del 192.168.80.174
ip – إضافة/حذف عنوان IP
# ip a add 192.168.80.174 dev eth0
الصيغة لإضافة/حذف واجهة باستخدام أمر ip:
# ip a add 192.168.80.174 dev eth0 # ip a del 192.168.80.174 dev eth0
إضافة عنوان MAC لواجهة الشبكة
الأمر أدناه يضبط عنوان الجهاز لواجهة eth0
إلى القيمة المحددة في الأمر. يمكن التحقق من ذلك عن طريق التحقق من قيمة HWaddr
في إخراج أمر ifconfig.
ifconfig – إضافة عنوان MAC
هنا، الصيغة لإضافة عنوان MAC باستخدام أمر ifconfig:
# ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – إضافة عنوان MAC
هنا، الصيغة لإضافة عنوان MAC باستخدام أمر ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
ضبط تكوينات أخرى لواجهة الشبكة
بالإضافة إلى ضبط عنوان IP أو عنوان الجهاز، التكوينات الأخرى التي يمكن تطبيقها على واجهة تشمل:
- MTU (وحدة النقل القصوى)
- العلم النقطي
- طول طابور الإرسال
- الوضع المشروطي
- تمكين أو تعطيل جميع وضع التواتر
ifconfig – إعدادات شبكة أخرى
ip – إعدادات شبكة أخرى
a. Set MTU value to 2000.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Enable or Disable multicast flag.
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
c. Setting the transmit queue length.
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
d. Enabling or disabling promiscuous mode.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Enable or disable all multicast mode.
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on
5. تمكين أو تعطيل واجهة الشبكة
الأوامر التالية تمكن أو تعطل واجهة شبكة معينة.
ifconfig – تعطيل / تمكين واجهة الشبكة
الأمر التالي يعطل واجهة eth0
ويتم التحقق من ذلك من خلال نتيجة ifconfig التي تظهر بشكل افتراضي الواجهات التي هي متوفرة.
# ifconfig eth0 down
لإعادة تمكين الواجهة ، قم فقط باستبدال down بـ up.
# ifconfig eth0 up
ip – تعطيل / تمكين واجهة الشبكة
الأمر ip التالي هو بديل لـ ifconfig لتعطيل واجهة معينة. يمكن التحقق من ذلك من خلال نتيجة الأمر 'ip a'
الذي يظهر جميع الواجهات بشكل افتراضي ، سواء كانت متوفرة أم غير متوفرة ، لكنه يسلط الضوء على حالتها جنبًا إلى جنب مع الوصف.
# ip link set eth0 down
لإعادة تمكين الواجهة ، قم فقط باستبدال down بـ up.
# ip link set eth0 up
6. تمكين أو تعطيل استخدام بروتوكول ARP
الأوامر التالية تمكن أو تعطل بروتوكول ARP على واجهة شبكة معينة.
ifconfig – تمكين / تعطيل بروتوكول ARP
الأمر يمكن استخدام بروتوكول ARP مع واجهة eth0. لتعطيل هذا الخيار ، قم فقط باستبدال arp بـ -arp
.
# ifconfig eth0 arp
ip – تمكين / تعطيل بروتوكول ARP
هذا الأمر هو البديل الإرشادي لتمكين ARP للواجهة eth0. للإيقاف ، قم بتبديل on بـ off.
# ip link set dev eth0 arp on
الخاتمة
وهكذا ، قمنا بتسليط الضوء على ميزات أمر ifconfig وكيف يمكن القيام بها باستخدام أمر ip. حاليًا ، توفر توزيعات Linux للمستخدم أمرين ليتم استخدامهما وفقًا لراحته. إذن ، أي أمر هو الأكثر ملاءمة لك والذي تفضل استخدامه؟ أذكر ذلك في تعليقاتك.
إذا كنت ترغب في معرفة المزيد عن هذين الأمرين ، فيجب أن تقرأ مقالاتنا السابقة التي توضح بعض الأمثلة العملية لأوامر ifconfig و ip بشكل مفصل.
Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/