Netplan وكيفية تحضيره بشكل صحيح

Ubuntu هو نظام تشغيل رائع، ولم أعمل مع خادم Ubuntu لفترة طويلة ولم يكن هناك أي فائدة من ترقية سطح المكتب من الإصدار الثابت. ومنذ وقت ليس ببعيد اضطررت للتعامل مع الإصدار الأخير من خادم Ubuntu 18.04، وكانت دهشتي لا حدود لها عندما أدركت أنني كنت متخلفًا عن الزمن بشكل لا نهائي ولم أتمكن من إعداد شبكة لأن النظام القديم الجيد لإعداد واجهات الشبكة بواسطة لقد ذهب تحرير ملف /etc/network file /interfaces إلى هباء. وما الذي جاء ليحل محله؟ شيء فظيع وغير مفهوم تمامًا للوهلة الأولى، تعرف على "Netplan".

لأكون صادقًا، في البداية لم أتمكن من فهم ما هو الأمر و"لماذا هناك حاجة لذلك، لأن كل شيء كان مريحًا للغاية"، ولكن بعد قليل من التدريب أدركت أن لها سحرها الخاص. ويكفي هذا من كلمات الأغاني، دعنا نواصل الحديث عن Netplan، هذه أداة مساعدة جديدة لإعدادات الشبكة في Ubuntu، على الأقل "لم أر شيئًا كهذا في التوزيعات الأخرى." الفرق الكبير بين Netplan هو أن التكوين مكتوب باللغة YAMLنعم، لقد سمعت YAML بشكل صحيح، فقد قرر المطورون مواكبة العصر (وبغض النظر عن مدى مدحهم لها، ما زلت أعتقد أنها لغة فظيعة). العيب الرئيسي لهذه اللغة هو أنها حساسة للغاية للمسافات، دعونا نلقي نظرة على التكوين باستخدام مثال.

توجد ملفات التكوين على طول المسار /etc/netplan/filename.yaml، ويجب أن يكون هناك +2 مسافات بين كل كتلة.

1) يبدو العنوان القياسي كما يلي:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

دعونا نلقي نظرة على ما فعلناه الآن:

  • الشبكة: - هذه بداية كتلة التكوين.
  • العارض: Networkd - نشير هنا إلى مدير الشبكة الذي سنستخدمه، وهو إما Networkd أو NetworkManager
  • الإصدار: 2 - هنا، كما أفهمها، هو إصدار YAML.
  • إيثرنت: - تشير هذه الكتلة إلى أننا سنقوم بتكوين بروتوكول إيثرنت.
  • enps0f0: — حدد محول الشبكة الذي سنقوم بتكوينه.
  • dhcp4:no - قم بتعطيل DHCP v4، لـ 6 v6 dhcp6 على التوالي

2) دعونا نحاول تعيين عناوين IP:

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

هنا قمنا بتعيين خادم الخشخاش، IPv4، البوابة وخادم DNS. لاحظ أنه إذا أردنا أكثر من عنوان IP واحد، فإننا نكتبهم مفصولين بفواصل مع مسافة إلزامية بعدها.

3) ماذا لو كنا في حاجة إليها الرابطة?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • السندات: - كتلة توضح أننا سنقوم بتكوين الترابط.
  • Bond0: - اسم الواجهة التعسفي.
  • الواجهات: - مجموعة من الواجهات المجمعة في رابطة "كما ذكرنا سابقاً، إذا كان هناك عدة معلمات، نصفها بين قوسين مربعين".
  • المعلمات: - وصف كتلة إعدادات المعلمة
  • الوضع: — تحديد الوضع الذي سيعمل الترابط من خلاله.
  • mii-monitor-interval: — اضبط الفاصل الزمني للمراقبة على ثانية واحدة.

داخل الكتلة المسماة Bond، يمكنك أيضًا تكوين المعلمات مثل العناوين والبوابة 4 والمسارات وما إلى ذلك.

لقد أضفنا تكرارًا لشبكتنا، والآن كل ما تبقى هو التثبيت شبكة محلية ظاهرية ويمكن اعتبار الإعداد كاملاً.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • شبكات محلية ظاهرية: - قم بإعلان كتلة تكوين شبكة محلية ظاهرية.
  • vlan10: — اسم عشوائي لواجهة الشبكة المحلية الافتراضية.
  • المعرف: - علامة الشبكة المحلية الافتراضية الخاصة بنا.
  • الرابط: — الواجهة التي يمكن من خلالها الوصول إلى الشبكة المحلية الافتراضية.
  • الطرق: - أعلن عن كتلة وصف المسار.
  • — إلى: — قم بتعيين العنوان/الشبكة الفرعية التي يلزم المسار إليها.
  • عبر: - حدد البوابة التي سيتم من خلالها الوصول إلى شبكتنا الفرعية.
  • على الرابط: — نشير إلى أنه يجب دائمًا تسجيل المسارات عند رفع الرابط.

انتبه إلى كيفية وضع المسافات، فهذا مهم جدًا في YAML.

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

بعد جمع كل الكتل البرمجية السابقة، هذا ما حصلنا عليه:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

الآن أصبحت شبكتنا جاهزة للتشغيل، وتبين أن كل شيء لم يكن مخيفًا كما بدا في البداية، واتضح أن الكود جميل جدًا وسهل القراءة. جهاز الكمبيوتر، شكرًا لك على netplan، يوجد دليل ممتاز على الرابط https://netplan.io/.

المصدر: www.habr.com

إضافة تعليق