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: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

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster