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

Эми эмне кылганыбызды карап көрөлү:

  • тармак: - бул конфигурация блогунун башталышы.
  • 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 жеткиликтүү боло турган интерфейс.
  • маршруттар: — маршруттун сүрөттөмө блогун жарыялоо.
  • — үчүн: — маршрут керек болгон даректи/подсетаны коюңуз.
  • аркылуу: — биздин ички тармак жеткиликтүү боло турган шлюзду көрсөтүңүз.
  • on-link: — биз шилтеме көтөрүлгөндө каттамдар дайыма катталышы керек экенин көрсөтөбүз.

Мен боштуктарды кантип жайгаштырганыма көңүл буруңуз; бул 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]
    

Азыр биздин тармак иштөөгө даяр, баары башында көрүнгөндөй коркунучтуу эмес болуп чыкты жана код абдан кооз жана окула турган болуп чыкты. PC, netplan үчүн рахмат шилтемеде сонун колдонмо бар https://netplan.io/.

Source: www.habr.com

Комментарий кошуу