Netplan и како правилно да го подготвите

Ubuntu Одличен оперативен систем, долго време не сум работел со него. Ubuntu сервер, а ажурирањето на мојот десктоп од стабилна верзија немаше смисла. И така, не толку одамна, морав да се справам со сосема ново издание. Ubuntu На серверот 18.04, бев апсолутно изненаден кога сфатив дека сум далеку зад времето и не можев да ја конфигурирам мојата мрежа бидејќи добриот стар систем за конфигурирање на мрежни интерфејси со уредување на датотеката /etc/network/interfaces исчезна. И што го замени? Нешто застрашувачко и, на прв поглед, сосема неразбирливо - запознајте го „Netplan“.

Да бидам искрен, на почетокот не можев да разберам за што станува збор и „зошто беше потребно, на крајот на краиштата, сè беше толку погодно“, но по малку вежбање сфатив дека има свој шарм. Значи, доста со лирските муабети, да продолжиме со тоа што е Netplan. Ова е нова алатка за конфигурирање на мрежа во Ubuntu, барем „не сум сретнал нешто слично на ова во други дистрибуции.“ Значајна разлика со Netplan е тоа што конфигурацијата е напишана на јазикот ЈАМЛ, да, добро слушнавте YAML, програмерите решија да бидат во чекор со времето (и колку и да го фалат, сепак мислам дека е ужасен јазик). Главниот недостаток на овој јазик е тоа што е многу чувствителен на празни места, ајде да ја погледнеме конфигурацијата користејќи пример.

Конфигурациските датотеки се наоѓаат по патеката /etc/netplan/filename.yaml, помеѓу секој блок треба да има + 2 празни места.

1) Стандардното заглавие изгледа вака:

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

Ајде да погледнеме што направивме сега:

  • мрежа: - ова е почеток на конфигурацискиот блок.
  • renderer: networkd - тука го означуваме мрежниот менаџер што ќе го користиме, ова е или мрежно или NetworkManager
  • верзија: 2 - тука, како што јас разбирам, е верзијата YAML.
  • етернет: - овој блок покажува дека ќе го конфигурираме етернет протоколот.
  • enps0f0: — наведете кој мрежен адаптер ќе го конфигурираме.
  • dhcp4:не - оневозможи 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

  • обврзници: - блок кој објаснува дека ќе го конфигурираме поврзувањето.
  • bond0: - произволно име на интерфејс.
  • интерфејси: - збир на интерфејси собрани во врска, „како што е наведено претходно, ако има неколку параметри, ги опишуваме во квадратни загради“.
  • параметри: — опишете го блокот за поставки за параметри
  • режим: — наведете го режимот со кој ќе функционира лепењето.
  • mii-monitor-interval: — поставете го интервалот за следење на 1 секунда.

Внатре во блокот со име обврзница, можете исто така да конфигурирате параметри како што се адреси, gateway4, маршрути итн.

Додадовме вишок за нашата мрежа, сега останува само да се инсталира влан и поставувањето може да се смета за завршено.

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.
  • id: — ознака на нашиот влан.
  • врска: — интерфејс преку кој ќе биде достапен vlan.
  • рути: — прогласете блок за опис на маршрутата.
  • — до: — поставете ја адресата/подмрежата до која е потребна рутата.
  • преку: — наведете ја портата преку која ќе биде достапна нашата подмрежа.
  • on-link: — укажуваме дека маршрутите секогаш треба да се регистрираат кога врската е подигната.

Обрнете внимание на тоа како поставувам простори; ова е многу важно во YAML.

Така, ги опишавме мрежните интерфејси, создадовме поврзување, па дури и додадовме vlans. Ајде да ја примениме нашата конфигурација, командата netplan apply ќе ја провери нашата конфигурација за грешки и ќе ја примени ако е успешна. Следно, конфигурацијата ќе се подигне сама кога ќе се рестартира системот.

Откако ги собравме сите претходни блокови на код, ова е она што го добивме:

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