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 нұсқасы.
  • ethernets: - бұл блок Ethernet протоколын конфигурациялайтынымызды көрсетеді.
  • enps0f0: — қай желі адаптерін конфигурациялайтынымызды көрсетіңіз.
  • dhcp4:жоқ - тиісінше 4 v6 dhcp6 үшін DHCP v6 өшіру

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, шлюз және dns серверін орнаттық. Назар аударыңыз, егер бізге бірнеше IP мекенжайы қажет болса, біз оларды кейін міндетті бос орынмен үтірмен бөліп жазамыз.

3) Қажет болса ше? байланыстыру?

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

  • облигациялар: - байланыстыруды конфигурациялайтынымызды түсіндіретін блок.
  • bond0: - ерікті интерфейс атауы.
  • интерфейстер: - «бұрын айтылғандай, егер бірнеше параметр болса, біз оларды төртбұрышты жақшада сипаттаймыз».
  • параметрлер: — параметрді орнату блогын сипаттаңыз
  • режим: — байланыстыру жұмыс істейтін режимді көрсетіңіз.
  • mii-monitor-interval: — бақылау аралығын 1 секундқа орнатыңыз.

Байланыс деп аталатын блоктың ішінде мекенжайлар, шлюз4, маршруттар және т.б. сияқты параметрлерді конфигурациялауға болады.

Біз желіге қосымша қостық, енді орнату ғана қалды 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 интерфейсінің ерікті атауы.
  • id: — біздің vlan тегі.
  • сілтеме: — vlan қол жетімді болатын интерфейс.
  • маршруттар: — маршрутты сипаттау блогын жариялау.
  • — үшін: — маршрут қажет мекенжайды/ішкі желіні орнатыңыз.
  • арқылы: — ішкі желіге қол жетімді болатын шлюзді көрсетіңіз.
  • on-link: — сілтеме көтерілген кезде маршруттар әрқашан тіркелуі керек екенін көрсетеміз.

Бос орындарды қалай орналастыратыныма назар аударыңыз; бұл YAML-де өте маңызды.

Осылайша, біз желілік интерфейстерді сипаттадық, байланыстырдық және тіпті вландарды қостық. Конфигурациямызды қолданайық, 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

пікір қалдыру