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

Ubuntu نظام تشغيل رائع، لم أستخدمه منذ فترة طويلة Ubuntu لم يكن من المنطقي تحديث خادمي، وتحديث سطح المكتب من إصدار مستقر. ولذلك، اضطررتُ مؤخرًا إلى التعامل مع إصدار جديد تمامًا. Ubuntu على نظام التشغيل 18.04، شعرتُ بدهشةٍ بالغة عندما أدركتُ أنني متأخرٌ جدًا عن الركب، وأنني لا أستطيع تهيئة شبكتي لأن النظام القديم الجيد لتهيئة واجهات الشبكة عن طريق تعديل ملف /etc/network/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

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster