నెట్‌ప్లాన్ మరియు దానిని సరిగ్గా ఎలా సిద్ధం చేయాలి

ఉబుంటు ఒక అద్భుతమైన ఆపరేటింగ్ సిస్టమ్, నేను ఉబుంటు సర్వర్‌తో ఎక్కువ కాలం పని చేయలేదు మరియు స్థిరమైన వెర్షన్ నుండి నా డెస్క్‌టాప్‌ను అప్‌గ్రేడ్ చేయడంలో ఎటువంటి పాయింట్ లేదు. మరియు చాలా కాలం క్రితం నేను ఉబుంటు సర్వర్ 18.04 యొక్క తాజా విడుదలతో వ్యవహరించాల్సి వచ్చింది, నేను చాలా కాలం వెనుక ఉన్నానని మరియు నెట్‌వర్క్‌ను సెటప్ చేయలేనని గ్రహించినప్పుడు నా ఆశ్చర్యానికి అవధులు లేవు ఎందుకంటే నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను సెటప్ చేయడానికి మంచి పాత సిస్టమ్ /etc/network ఫైల్ /ఇంటర్‌ఫేస్‌లను సవరించడం అంతరించిపోయింది. మరియు దానిని భర్తీ చేయడానికి ఏమి వచ్చింది? భయంకరమైన మరియు మొదటి చూపులో పూర్తిగా అపారమయినది, "నెట్‌ప్లాన్"ని కలవండి.

నిజం చెప్పాలంటే, మొదట విషయం ఏమిటో నాకు అర్థం కాలేదు మరియు “ఇది ఎందుకు అవసరం, ఎందుకంటే ప్రతిదీ చాలా సౌకర్యవంతంగా ఉంటుంది,” కానీ కొంచెం అభ్యాసం చేసిన తర్వాత దాని స్వంత ఆకర్షణ ఉందని నేను గ్రహించాను. మరియు తగినంత సాహిత్యం, నెట్‌ప్లాన్ అంటే ఏమిటో కొనసాగిద్దాం, ఇది ఉబుంటులోని నెట్‌వర్క్ సెట్టింగ్‌ల కోసం కొత్త యుటిలిటీ, కనీసం “ఇతర పంపిణీలలో నేను ఇలాంటివి చూడలేదు.” నెట్‌ప్లాన్ మధ్య ముఖ్యమైన వ్యత్యాసం ఏమిటంటే కాన్ఫిగరేషన్ భాషలో వ్రాయబడింది. యమ్ఎల్, అవును, మీరు YAMLని సరిగ్గానే విన్నారు, డెవలపర్‌లు సమయానికి అనుగుణంగా ఉండాలని నిర్ణయించుకున్నారు (మరియు వారు ఎంత ప్రశంసించినా, నేను ఇప్పటికీ ఇది భయంకరమైన భాషగా భావిస్తున్నాను). ఈ భాష యొక్క ప్రధాన ప్రతికూలత ఏమిటంటే ఇది ఖాళీలకు చాలా సున్నితంగా ఉంటుంది, ఉదాహరణను ఉపయోగించి కాన్ఫిగరేషన్‌ను చూద్దాం.

కాన్ఫిగరేషన్ ఫైల్‌లు /etc/netplan/filename.yaml మార్గంలో ఉన్నాయి, ప్రతి బ్లాక్ మధ్య + 2 ఖాళీలు ఉండాలి.

1) ప్రామాణిక హెడర్ ఇలా కనిపిస్తుంది:

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

మనం ఇప్పుడు ఏమి చేశామో చూద్దాం:

  • నెట్‌వర్క్: - ఇది కాన్ఫిగరేషన్ బ్లాక్ యొక్క ప్రారంభం.
  • రెండరర్: నెట్‌వర్క్డ్ - ఇక్కడ మనం ఉపయోగించే నెట్‌వర్క్ మేనేజర్‌ని సూచిస్తాము, ఇది నెట్‌వర్క్ లేదా నెట్‌వర్క్ మేనేజర్
  • వెర్షన్: 2 - ఇక్కడ, నేను అర్థం చేసుకున్నట్లుగా, YAML వెర్షన్.
  • ethernets: - మేము ఈథర్నెట్ ప్రోటోకాల్‌ను కాన్ఫిగర్ చేస్తామని ఈ బ్లాక్ సూచిస్తుంది.
  • enps0f0: — మేము ఏ నెట్‌వర్క్ అడాప్టర్‌ని కాన్ఫిగర్ చేస్తామో సూచించండి.
  • dhcp4:no - వరుసగా 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

ఇక్కడ మేము గసగసాల, 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 యాక్సెస్ చేయబడుతుంది.
  • మార్గాలు: — మార్గం వివరణ బ్లాక్‌ను ప్రకటించండి.
  • — to: — మార్గం అవసరమైన చిరునామా/సబ్‌నెట్‌ను సెట్ చేయండి.
  • ద్వారా: — మా సబ్‌నెట్ యాక్సెస్ చేయగల గేట్‌వేని పేర్కొనండి.
  • ఆన్-లింక్: — లింక్ పెంచబడినప్పుడు మార్గాలు ఎల్లప్పుడూ నమోదు చేయబడాలని మేము సూచిస్తున్నాము.

నేను ఖాళీలను ఎలా ఉంచుతాను అనే దానిపై శ్రద్ధ వహించండి; ఇది YAMLలో చాలా ముఖ్యమైనది.

కాబట్టి మేము నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను వివరించాము, బంధాన్ని సృష్టించాము మరియు vlanలను కూడా జోడించాము. మన configని వర్తింపజేద్దాం, 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]
    

ఇప్పుడు మా నెట్‌వర్క్ ఆపరేషన్ కోసం సిద్ధంగా ఉంది, ప్రతిదీ మొదట కనిపించినంత భయానకంగా లేదు మరియు కోడ్ చాలా అందంగా మరియు చదవగలిగేదిగా మారింది. నెట్‌ప్లాన్‌కు PC ధన్యవాదాలు, లింక్‌లో అద్భుతమైన మాన్యువల్ ఉంది https://netplan.io/.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి