Netplan-ը և ինչպես ճիշտ պատրաստել այն

Ubuntu-ն զարմանալի օպերացիոն համակարգ է, ես երկար ժամանակ չեմ աշխատել Ubuntu սերվերի հետ և իմաստ չկար իմ աշխատասեղանին թարմացնել կայուն տարբերակից: Եվ ոչ վաղ անցյալում ես ստիպված էի գործ ունենալ Ubuntu սերվերի 18.04-ի վերջին թողարկման հետ, իմ զարմանքը սահմաններ չուներ, երբ հասկացա, որ ես անսահմանորեն հետ եմ մնացել ժամանակներից և չեմ կարող ցանց ստեղծել, քանի որ ցանցային ինտերֆեյսների տեղադրման հին լավ համակարգը /etc/network ֆայլի /ինտերֆեյսների խմբագրումն անհետացել է: Իսկ ի՞նչը փոխարինեց դրան։ ինչ-որ սարսափելի և առաջին հայացքից բոլորովին անհասկանալի բան, հանդիպեք «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: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

  • պարտատոմսեր. - բլոկ, որը բացատրում է, որ մենք կարգավորելու ենք կապը:
  • bond0. - կամայական միջերեսի անվանում:
  • ինտերֆեյսներ. - ինտերֆեյսների մի շարք, որոնք հավաքվում են կապի մեջ, «ինչպես ավելի վաղ նշվեց, եթե կան մի քանի պարամետրեր, մենք դրանք նկարագրում ենք քառակուսի փակագծերում»:
  • պարամետրեր. — նկարագրել պարամետրերի կարգավորումների բլոկը
  • ռեժիմ. — նշեք այն ռեժիմը, որով կաշխատի կապը:
  • mii-monitor-interval. — մոնիտորինգի միջակայքը սահմանել 1 վայրկյան:

Bond անունով բլոկի ներսում կարող եք նաև կարգավորել այնպիսի պարամետրեր, ինչպիսիք են հասցեները, 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-ում:

Այսպիսով, մենք նկարագրեցինք ցանցային ինտերֆեյսները, ստեղծեցինք կապեր և նույնիսկ ավելացրեցինք վլաններ: Եկեք կիրառենք մեր կազմաձևը, 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

Добавить комментарий