مدير الشبكة على لينكس مع أمثلة Network Manager


كيفية التعامل مع مدير الشبكة  Network Manager على لينكس مع أمثلة ؟


إذا كنت مسؤول نظام متمرسًا ، وإذا كنت تركز على إدارة الشبكة ، فمن المحتمل أنك سمعت بالفعل عن مدير الشبكة_Network Manager.

تم إصدار Network Manager في عام 2004 وتم تطويره بواسطة Red Hat ، وهو عبارة عن مجموعة من الأدوات المختلفة ، ومعظمها واجهات ، مصممة لتسهيل إدارة الشبكة على نظامك.

إذا كنت تريد تشغيل محول شبكة ،ربما ستستخدم مدير الشبكة لتحقيق ذلك.

وبالمثل ، إذا كنت تريد تعديل بطاقة شبكة حالية لتغيير عنوان IP المعين لها ، فستستخدم مدير الشبكة مرة أخرى.


سنشرح في هذا البرنامج التعليمي كيف يمكنك استخدام الأدوات المختلفة في مجموعة Network Manager لإدارة شبكاتك بسهولة.


بعد سرد الأدوات المضمنة في المجموعة (nmcli و nmtui و nm-applet) ، سنراجع قائمة بحالات الاستخدام العملي لمسؤولي الشبكة.


Table of Contents
Network Manager Architecture
Network Manager API
Network Manager vs ifupdown
About systemd-networkd
Network Manager Tools
Network Configuration using nmcli
Connection Management
Listing Network Connections
Adding Network Connections
Modifying connection parameters
Device Management
Listing Network Adapters
Changing device configuration
Reapplying parameters
Network Manager Graphical Tools
Nmtui utility
Nm-applet on GNOME
Conclusion


1- هندسة إدارة الشبكة- Network Manager Architecture .


قبل التعمق في إمكانات مدير الشبكة ، دعنا أولاً نصف بنيتها وكيف يمكنها التواصل مع الوحدات ذات الصلة بـ Kernel.

2- في Network Manager API

المفهوم الأول الذي يجب فهمه هو أن مدير الشبكة يقف كواجهة برمجة تطبيقات _ API من أجل تكوين واجهات الشبكة على مضيفك.

بشكل مختصر API هو :  توفير قائمة من الوظائف المستقلّة تمامًا عن الآلية التي نفّذت بها، لتتيح للآخرين التواصل معها من خلال أيّ آلية أخرى.

ومع ذلك ، لا يعمل مدير الشبكة بمفرده: فهو جزء من عملية من تلقي رسالة شبكة على نقطة نهاية تسمى مأخذ توصيل الشبكة.

يتم تمثيل مقبس الشبكة فعليًا بواسطة NIC Ethernet متصل بكبل Ethernet لبدء مشاركة البيانات عبر شبكة.

عندما يتم توصيل كبل Ethernet ، يتم التعرف عليه أولاً بواسطة وحدة udev التي سترسل إشارة إلى مدير الشبكة لإعلامك بتوصيل كبل جديد.

بهذه الطريقة ، يتمكن مدير الشبكة من الحفاظ على الاتصالات ولكنه قادر أيضًا على كشف توفر الشبكة للتطبيقات الأخرى.

إذا كنت تستخدم Firefox ، وإذا كان Firefox بحاجة إلى معرفة حالة اتصال الشبكة ، فيمكنه الاستعلام عن مدير الشبكة من خلال DBus للحصول على هذه المعلومات.

في Network Manager هي بالفعل واجهة برمجة تطبيقات للشبكة ستقدم تفاصيل حول بطاقات الشبكة ، والشبكات السلكية أو اللاسلكية المتاحة.

سيوفر أيضًا طريقة سهلة لتكوين بطاقات الشبكة والواجهات بملفات تكوين مخصصة.


3- في Network Manager vs ifupdown

تاريخياً ، تستخدم أنظمة تشغيل Linux لإدارة واجهات الشبكة بطريقة مختلفة ، وذلك باستخدام ملفات التكوين الموجودة في /etc/network بشكل أساسي.

في هذا الدليل ، يمكن استخدام ملف لتكوين واجهات الشبكة: ملف الواجهات _  the interfaces file.

 $ cat interfaces

ومع ذلك ، في التوزيعات الأخيرة ، لا يتم استخدام ملف "الواجهات" الذي تستخدمه الأدوات المساعدة ifup و ifdown.

بشكل افتراضي ، Network Manager هو الشخص الذي يدير واجهات الشبكة الخاصة بك ولكن يمكن تغيير طريقة إدارة الشبكة في ملف تكوين Network Manager.

$ cd /etc/NetworkManager


$ cat NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false



ملاحظة: تعني كلمة "false" أن مدير الشبكة يدير اتصالاتك وأجهزتك ، ويعني "true" أنك تفضل القيام بذلك بالطريقة القديمة باستخدام ifup و downdown.


4- في About systemd-networkd

على الأنظمة الأحدث ، تم تعيين systemd للتعامل مع كل شيء تقريبًا والشبكة ليست استثناء للقاعدة

في بعض الحالات ، قد يعتمد نظامك على البرنامج الخفي systemd-network لإدارة الواجهات.

لاحظ أنه لتجنب تعارضات التكوين المتعلقة بالشبكات ، يجب تمكين خدمة شبكة واحدة فقط في وقت واحد: سواء كان ذلك في حالة إيقاف التشغيل ، أو systemd-networkd أو Network Manager.

إذا كنت معتادًا على إدارة شبكاتك باستخدام ملف "الواجهات" ، فقد ترغب في الاستمرار في القيام بذلك ، وإلا فمن المستحسن التبديل إلى Network Manager.


5- في  Network Manager Tools

الآن بعد أن أصبح لديك فهم أكبر لمدير الشبكة ، فلنبدأ في تعداد الأدوات المتوفرة في هذه المجموعة.

يوفر مدير الشبكة_Network Manager  الأدوات التالية:



1- في nmcli : أداة سطر الأوامر المخصصة المستخدمة لتكوين وإضافة وتحرير وإزالة الاتصالات باستخدام Network Manager

2- في nmtui :واجهة مستخدم رسومية توفر مجموعة فرعية فقط من الميزات المحسوبة على nmcli , باستخدام nmtui ، يمكنك تحرير اتصال أو تنشيط اتصال أو تغيير اسم المضيف لجهاز الكمبيوتر الخاص بك ؛
.

3- في nm-applet : متاح في بيئات سطح مكتب جنوم ، يستخدم هذا التطبيق الصغير كغطاء للواجهة يمكن استخدامه للاتصال أو قطع الاتصال بالشبكات.

لاحظ أن بعض التوزيعات قد تحتوي على "اختصارات" مدير الشبكة للأدوات الموضحة أعلاه: nmtui-connect أو nmtui-edit أو nmtui-hostname.

في معظم الأحيان ، تكون هذه الأدوات في الواقع روابط بسيطة بسيطة إلى أداة nmtui الرئيسية.

$ ls -l /usr/bin/nmtui-connect
lrwxrwxrwx 1 root root 5 أكت  4  2019 /usr/bin/nmtui-connect -> nmtui

في الأقسام التالية ، سنرى كيف يمكنك استخدام الأدوات المختلفة المذكورة أعلاه لتكوين شبكاتك بشكل صحيح.

6- في Network Configuration using nmcli .

كما هو موضح في القسم السابق ، يعد nmcli أداة مساعدة لسطر الأوامر يمكن استخدامها لمراقبة اتصال الشبكة ،
ولكن أيضًا لإضافة اتصالات وتعديلها وحذفها بالإضافة إلى وجود معلومات تفصيلية حول الأجهزة على نظامك.

يمكن أن تتفاعل ou مع nmcli باستخدام بناء الجملة التالي

$ nmcli <options> <section> <action>



 nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor}


يحتوي nmcli على مجموعة من ثمانية أقسام:

- في

- في help :تستخدم للحصول على مساعدة عامة حول استخدام nmcli

- في general :تُستخدم للحصول على الحالة والتكوين العام لمدير الشبكة نفسه .

- في networking : فضح الأساليب من أجل إغلاق مدير الشبكة أو طرحها مرة أخرى

- في radio : المستخدمة من أجل إدارة بروتوكولات الإرسال اللاسلكي مثل WIFI أو WAN

- في connection : كما يشير اسمه ، يتم استخدام هذا القسم لإحضار الواجهات لأعلى ولأسفل ولإضافة وحذف الاتصالات الموجودة

- في device : تستخدم في الغالب لتعديل المعلمات المرتبطة بجهاز معين (اسم الواجهة على سبيل المثال) أو لتوصيل جهاز باستخدام اتصال موجود

- في agent & monitor : يتم استخدام هذه الأقسام للتعامل مع الأسرار ومشاهدة تغييرات الشبكة على التوالي.

كمثال ، إذا كان عليك إدراج جميع الاتصالات النشطة حاليًا ، فسيتعين عليك تنفيذ "nmcli" مع قسم "الاتصال" وإجراء "إظهار".

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Sami-linux-Drupal   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  wifi      wlp2s0


في هذه الحالة ، لدى المضيف اتصال Ethernet سلكي على محول شبكة يسمى "wlp2s0".


في الأقسام التالية ، سنرى كيف يمكنك التفاعل مع بطاقات الشبكة والاتصالات من أجل تكوين نظامك بشكل صحيح.

7- في Connection Management


عند استخدام Network Manager ، يمكن رؤية الاتصال على أنه "تكوين شبكة".


ونتيجة لذلك ، يحتوي "الاتصال" على جميع المعلومات المتعلقة بالطبقتين 2 (طبقة ارتباط البيانات) والطبقات 3 (من المحتمل أن تكون مرتبطة بعناوين IP).

عندما يتم استخدام اتصال من قبل جهاز ، أي محول شبكة على مضيفك ، يتم تعيينه على "نشط" أو أن يكون "أعلى".

من ناحية أخرى ، يمكن أن يكون الاتصال "خاملاً" ويستخدمه الآن أي واجهة شبكة على الإطلاق: في هذه الحالة يتم تعيينه على "غير نشط" أو "اسفل"

النقطة الرئيسية الأولى هنا هي أنه عندما نقوم بتكوين الشبكات على مضيف Linux ، فإننا نقوم بشكل أساسي بتكوين الاتصالات ، والتي ستكون مرتبطة بالأجهزة لاحقًا.

8- في Listing Network Connections .

لإدراج اتصالات الشبكة المتاحة على مضيفك ، يمكنك تشغيل إجراء "إظهار" لقسم "الاتصال".

$ nmcli connection show


اختياريًا ، يمكنك تقديم علامة "نشطة" لتقييد النتيجة بالاتصالات النشطة (أي التي تستخدمها محولات الشبكة)



$ nmcli connection show --active

9- في Adding Network Connections .

في بعض الحالات ، قد يكون من المفيد تكوين اتصالات متعددة.

لنفترض أنك تعمل في مكانين مختلفين: أحدهما يستخدم DHCP لتعيين عنوان IP الخاص بك (عنوان IP الديناميكي) والآخر الذي يقوم بتعيين IP ثابت لجهاز الكمبيوتر الخاص بك.

لتحقيق ذلك ، يمكنك إنشاء اتصالات شبكة إضافية يمكن تشغيلها اعتمادًا على موقعك.

لإضافة اتصالات شبكة جديدة باستخدام Network Manager ، يمكنك:


- أضف ملف التكوين الخاص بك إلى دليل اتصالات النظام الموجود في

/etc/NetworkManager


- إضافة أمر "nmcli connection" مع خيار "add" ؛
- استخدم الأداة المساعدة nm-connection-editor التي توفر واجهة مستخدم رسومية لإضافة وتعديل وحذف الاتصالات الموجودة.


باستخدام سطر الأوامر nmcli ، يمكنك إنشاء اتصال جديد عن طريق تشغيل الأمر التالي


$ sudo nmcli connection add type ethernet ifname eth1953


$ nmcli connection show


باستخدام nmcli ، سيتم تعيين اتصال UUID جديد لاتصالك الذي تم إنشاؤه حديثًا وستتمكن من البدء في استخدامه للاتصال بالإنترنت على سبيل المثال.


10- في Modifying connection parameters

إحدى الميزات الرائعة لأداة nmcli هي تعديل معلمات اتصالاتك الحالية.


إذا كنت ترغب في تعديل عنوان IP الخاص بك والتبديل من DHCP إلى عنونة IP اليدوية ، فيمكنك أيضًا استخدام الأداة المساعدة nmcli لتغيير هذه المعلمات.

من أجل تعديل معلمات الاتصال الموجودة ، يمكنك استخدام بناء الجملة التالي

$ nmcli connection modify <connection_id> <parameter> <value>
كمثال ، لنفترض أنك تريد أن يكون عنوان IP الخاص بك ثابتًا وتعيينه على القيمة "192.168.1.19"
لتحقيق ذلك ، قم بتشغيل الأمر التالي

$ nmcli connection modify <uuid> ipv4.method manual


$ nmcli connection modify <uuid> ipv4.address 192.168.1.19/24


ملاحظة: عند تغيير عنوان IP ، لا تنسَ تعيين قناع الشبكة الفرعية (هنا / 24) ، وإلا فقد تحصل على قناع افتراضي معين سيكون خاطئًا في معظم الحالات.

لكي تصبح التغييرات فعالة ، تحتاج إلى إعادة تشغيل الاتصال باستخدام الإجراءين "لأعلى" و "لأسفل" في قسم "الاتصال".

$ nmcli connection down <uuid>


$ nmcli connection up <uuid>


الآن بعد إعادة تشغيل واجهاتك ، يجب أن يكون تغيير IP فعالاً.


$ hostname -I


192.168.1.19


11- في Device Management

"الجهاز" هو أحد أقسام الأداة المساعدة nmcli ويمكن استخدامه لإدارة محولات الشبكة على مضيفك.

12- في Listing Network Adapters

من أجل الحصول على قائمة بمحول الشبكة على مضيفك ، يمكنك تشغيل إجراء "إظهار" في قسم "الجهاز".

$ nmcli device show


يصف هذا الأمر على نطاق واسع محول الشبكة الخاص بك ، ويسرد:

The device name : assigned by udev when the device was plugged to your computer (eth0 in this case);
Your device MAC address, referred here as the hardware address;
The device state : whether it is connected to the network or not;
The IPv4 address using a CIDR notation (192.168.1.16/24)
The IPv4 of your subnet gateway (192.168.1.1);
The IPv4 of your main DNS (192.168.1.1)


ملاحظة: هنا ، تعمل البوابة ك DNS الرئيسي ولكن قد يكون لديك خوادم أسماء مخصصة في شركتك.

هذه الخصائص مفيدة جدًا إذا كنت ترغب في إدراج بطاقات الشبكة المتاحة على مضيفك وتحديد ما إذا كانت متصلة أم لا.

12- في Changing device configuration

في بعض الحالات ، قد يكون من المفيد تغيير تكوين الجهاز مباشرة.

ومع ذلك ، هناك نقطة مهمة يجب أن تتذكرها: يمكنك تغيير جهازك مباشرة ، ولكن إذا كنت تريد استمرار التغييرات ، فستحتاج إلى تعديل تكوين الاتصال بدلاً من ذلك.

باختصار ، تغييرات تكوين الجهاز مؤقتة.

من أجل تغيير تكوين جهازك ، تحتاج إلى تنفيذ الأمر "nmcli device" مع خيار "تعديل" وتحديد المعلمة المراد تغييرها.

$ nmcli device modify <interface_name> <parameter> <value>


$ nmcli dev mod <interface_name> <parameter> <value>



على سبيل المثال ، لنفترض أنك تريد تغيير عنوان IP لواجهة شبكة "eth0" الخاصة بك. تريد أيضًا أن تكون إحالة IP ثابتة بدلاً من ديناميكية. لتحقيق ذلك ، ستقوم بتنفيذ الأمر التالي

$ nmcli device modify eth0 ipv4.method manual


Connection successfully reapplied to 'eth0'

$ nmcli dev mod eth0 ipv4.address 192.168.1.19/24

Connection successfully reapplied to 'eth0'


13- في Reapplying parameters

فقط لإظهار أن التغييرات مؤقتة ، إذا كنت تريد "إعادة تطبيق" المعلمات على واجهتك ، فستفقد جميع التغييرات الخاصة بك.

بدلاً من ذلك ، سيتم إعادة تطبيق المعلمات المحددة في ملف تكوين الاتصال (في
etc/NetworkManager/system-connections).


$ nmcli dev reapply eth0


Connection successfully reapplied to 'eth0'



سيعطيك إعادة فحص عنوان IP عنوان IP آخر من العنوان الذي عينته بشكل ثابت في القسم السابق.

$ hostname -I


192.168.1.18/24


14- في Network Manager Graphical Tools

في هذا القسم ، سنلقي نظرة على الأدوات الرسومية المدرجة في مجموعة Network Manager: nmtui و nm-applet.

Nmtui utility

إن nmtui ، كما يصف اسمه ، هو واجهة مستخدم نصية مبنية من أجل تسهيل عمليات الشبكة مع واجهة مستخدم سهلة الاستخدام.

لتبدأ باستخدام nmtui ، ما عليك سوى تنفيذ "nmtui" في هيكل طرفية.

$ nmtui


In this graphical menu, you have three options :

Edit a connection : where you are able to select network interfaces and modify parameters assigned to them (such as the DNS, the IP address or the gateway address);
Activate a connection : but also desactivate existing connections. As a reminder, connections are only active or enabled whenever they are assigned to a specific device;
Set system hostname : like the “hostnamectl” or the “hostname”, you can set the PC name over a network.


يعد التنقل في أداة nmtui أمرًا بسيطًا للغاية: يمكنك استخدام مفاتيح لوحة المفاتيح للتنقل ، ومفتاح "Enter" لتأكيد اختيارك ومفتاح "Escape" من أجل الإلغاء والعودة إلى الشاشة السابقة.


15- في Nm-applet on GNOME

آخر تطبيق مرتبط بمدير الشبكة هو nm-applet: وهو برنامج واجهة مستخدم رسومية متاح لواجهات مستخدم GNOME.

أداة nm-applet هي واجهة مستخدم متراكبة متوفرة في الزاوية العلوية اليمنى من قائمة سطح المكتب.

باستخدام برنامج nm-applet ، يمكنك: مشاهدة الاتصالات الموجودة ، وإضافتها وتعديلها وإزالتها حسب الرغبة.

يمكنك الاطلاع على معلومات تفصيلية حول إعدادات اتصالاتك السلكية وتحريرها لتغيير عنوان IP الخاص بك أو تغيير طريقة إحالة IP (من DHCP إلى يدوي على سبيل المثال)


´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
- حذف واجهة ؟

$ sudo ifconfig br0 down


كيفية عرض Active Internet connections (servers and established) ؟







إرسال تعليق

0 تعليقات