نت پلن و طرز تهیه صحیح آن

اوبونتو یک سیستم عامل شگفت انگیز است، من مدت زیادی است که با سرور اوبونتو کار نکرده ام و هیچ فایده ای برای ارتقا دسکتاپ از نسخه پایدار وجود ندارد. و چندی پیش مجبور شدم با آخرین نسخه سرور اوبونتو 18.04 سر و کار داشته باشم، تعجب من حد و مرزی نداشت وقتی متوجه شدم که بی نهایت از زمان عقب مانده ام و نمی توانم شبکه ای راه اندازی کنم زیرا سیستم قدیمی خوب برای راه اندازی رابط های شبکه توسط ویرایش فایل /etc/network /interfaces به پایان رسیده است. و چه چیزی جایگزین آن شد؟ چیزی وحشتناک و در نگاه اول کاملاً غیرقابل درک، با "Netplan" آشنا شوید.

راستش را بخواهید، ابتدا نمی‌توانستم بفهمم موضوع چیست و "چرا این کار لازم است، زیرا همه چیز خیلی راحت بود"، اما پس از کمی تمرین متوجه شدم که جذابیت خاص خود را دارد. و به اندازه کافی متن ترانه بیایید به آنچه Netplan است ادامه دهیم، این یک ابزار جدید برای تنظیمات شبکه در اوبونتو است، حداقل "من چیزی شبیه به این را در توزیع های دیگر ندیده ام." یک تفاوت قابل توجه بین Netplan این است که پیکربندی به زبان نوشته شده است. یامل، بله، درست شنیدید YAML، توسعه دهندگان تصمیم گرفتند با زمان همگام شوند (و مهم نیست که چقدر آن را تحسین می کنند، من هنوز فکر می کنم این زبان وحشتناکی است). عیب اصلی این زبان این است که به فضاها بسیار حساس است، بیایید با استفاده از یک مثال به پیکربندی نگاه کنیم.

فایل های پیکربندی در امتداد مسیر /etc/netplan/filename.yaml قرار دارند، بین هر بلوک باید + 2 فاصله وجود داشته باشد.

1) هدر استاندارد به شکل زیر است:

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

بیایید به آنچه که اکنون انجام داده ایم نگاه کنیم:

  • شبکه: - این شروع بلوک پیکربندی است.
  • renderer: 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

در اینجا سرور poppy، ipv4، gateway و dns را تنظیم می کنیم. توجه داشته باشید که اگر به بیش از یک آدرس IP نیاز داریم، آنها را با کاما با فاصله اجباری بعد از آن جدا می‌نویسیم.

3) در صورت نیاز چه کنیم پیوند?

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

  • bonds: - بلوکی که توضیح می دهد که پیوند را پیکربندی خواهیم کرد.
  • bond0: - نام رابط دلخواه.
  • رابط‌ها: - مجموعه‌ای از واسط‌ها که در یک پیوند جمع‌آوری شده‌اند، "همانطور که قبلاً گفته شد، اگر چندین پارامتر وجود داشته باشد، آنها را در براکت توصیف می‌کنیم."
  • پارامترها: - بلوک تنظیمات پارامتر را توصیف کنید
  • حالت: - حالتی را که باندینگ کار می کند را مشخص کنید.
  • mii-monitor-interval: — فاصله مانیتورینگ را روی ۱ ثانیه تنظیم کنید.

در داخل بلوک با نام bond، می توانید پارامترهایی مانند آدرس ها، gateway4، مسیرها و غیره را نیز پیکربندی کنید.

ما افزونگی را برای شبکه خود اضافه کرده ایم، اکنون تنها چیزی که باقی مانده است نصب است VLAN و راه اندازی را می توان کامل در نظر گرفت.

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

  • vlans: - بلوک پیکربندی vlan را اعلام کنید.
  • vlan10: - نام دلخواه رابط vlan.
  • شناسه: - برچسب vlan ما.
  • پیوند: - رابطی که از طریق آن vlan قابل دسترسی خواهد بود.
  • مسیرها: - یک بلوک توصیف مسیر را اعلام کنید.
  • — به: — آدرس/زیر شبکه ای که مسیر به آن نیاز است را تنظیم کنید.
  • via: - دروازه ای را که زیرشبکه ما از طریق آن قابل دسترسی خواهد بود را مشخص کنید.
  • on-link: - نشان می‌دهیم که مسیرها باید همیشه هنگام بالا آمدن پیوند ثبت شوند.

به نحوه قرار دادن فضاها توجه کنید؛ این در YAML بسیار مهم است.

بنابراین ما رابط های شبکه را توضیح دادیم، پیوند ایجاد کردیم و حتی vlan ها را اضافه کردیم. بیایید پیکربندی خود را اعمال کنیم، دستور 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]
    

اکنون شبکه ما آماده بهره برداری است، همه چیز آنطور که در ابتدا به نظر می رسید ترسناک نبود و کد بسیار زیبا و خواندنی بود. PC از شما برای netplan متشکرم یک کتابچه راهنمای عالی در لینک وجود دارد https://netplan.io/.

منبع: www.habr.com

اضافه کردن نظر