ನೆಟ್‌ಪ್ಲಾನ್ ಮತ್ತು ಅದನ್ನು ಸರಿಯಾಗಿ ತಯಾರಿಸುವುದು ಹೇಗೆ

ಉಬುಂಟು ಅದ್ಭುತ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಆಗಿದೆ, ನಾನು ಉಬುಂಟು ಸರ್ವರ್‌ನೊಂದಿಗೆ ದೀರ್ಘಕಾಲ ಕೆಲಸ ಮಾಡಿಲ್ಲ ಮತ್ತು ಸ್ಥಿರ ಆವೃತ್ತಿಯಿಂದ ನನ್ನ ಡೆಸ್ಕ್‌ಟಾಪ್ ಅನ್ನು ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡುವುದರಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ. ಮತ್ತು ಸ್ವಲ್ಪ ಸಮಯದ ಹಿಂದೆ ನಾನು ಉಬುಂಟು ಸರ್ವರ್ 18.04 ರ ಇತ್ತೀಚಿನ ಬಿಡುಗಡೆಯೊಂದಿಗೆ ವ್ಯವಹರಿಸಬೇಕಾಗಿತ್ತು, ನಾನು ಸಮಯದ ಹಿಂದೆ ಅಪರಿಮಿತವಾಗಿದ್ದೇನೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಎಂದು ಅರಿತುಕೊಂಡಾಗ ನನ್ನ ಆಶ್ಚರ್ಯಕ್ಕೆ ಮಿತಿಯಿಲ್ಲ ಏಕೆಂದರೆ ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಉತ್ತಮ ಹಳೆಯ ವ್ಯವಸ್ಥೆ /etc/network ಫೈಲ್/interfaces ಅನ್ನು ಎಡಿಟ್ ಮಾಡುವುದು ಬರಿದಾಗಿದೆ. ಮತ್ತು ಅದನ್ನು ಬದಲಿಸಲು ಏನು ಬಂದಿತು? ಭಯಾನಕ ಮತ್ತು ಮೊದಲ ನೋಟದಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಗ್ರಹಿಸಲಾಗದ ಏನೋ, "ನೆಟ್ಪ್ಲಾನ್" ಅನ್ನು ಭೇಟಿ ಮಾಡಿ.

ನಿಜ ಹೇಳಬೇಕೆಂದರೆ, ಮೊದಲಿಗೆ ನಾನು ವಿಷಯ ಏನೆಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಮತ್ತು "ಇದು ಏಕೆ ಬೇಕು, ಏಕೆಂದರೆ ಎಲ್ಲವೂ ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ," ಆದರೆ ಸ್ವಲ್ಪ ಅಭ್ಯಾಸದ ನಂತರ ಅದು ತನ್ನದೇ ಆದ ಮೋಡಿ ಹೊಂದಿದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ. ಮತ್ತು ಸಾಕಷ್ಟು ಸಾಹಿತ್ಯ, ನೆಟ್‌ಪ್ಲಾನ್ ಏನೆಂಬುದನ್ನು ಮುಂದುವರಿಸೋಣ, ಇದು ಉಬುಂಟುನಲ್ಲಿನ ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗಾಗಿ ಹೊಸ ಉಪಯುಕ್ತತೆಯಾಗಿದೆ, ಕನಿಷ್ಠ "ಇತರ ವಿತರಣೆಗಳಲ್ಲಿ ನಾನು ಈ ರೀತಿ ಏನನ್ನೂ ನೋಡಿಲ್ಲ." ನೆಟ್‌ಪ್ಲಾನ್ ನಡುವಿನ ಗಮನಾರ್ಹ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. YAML, ಹೌದು, ನೀವು YAML ಅನ್ನು ಸರಿಯಾಗಿ ಕೇಳಿದ್ದೀರಿ, ಡೆವಲಪರ್‌ಗಳು ಸಮಯವನ್ನು ಮುಂದುವರಿಸಲು ನಿರ್ಧರಿಸಿದ್ದಾರೆ (ಮತ್ತು ಅವರು ಅದನ್ನು ಎಷ್ಟು ಹೊಗಳಿದರೂ, ಇದು ಭಯಾನಕ ಭಾಷೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ). ಈ ಭಾಷೆಯ ಮುಖ್ಯ ಅನನುಕೂಲವೆಂದರೆ ಅದು ಸ್ಥಳಗಳಿಗೆ ಬಹಳ ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತದೆ, ಉದಾಹರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಂರಚನೆಯನ್ನು ನೋಡೋಣ.

ಸಂರಚನಾ ಕಡತಗಳು ಪಥದಲ್ಲಿ /etc/netplan/filename.yaml ಇದೆ, ಪ್ರತಿ ಬ್ಲಾಕ್ ನಡುವೆ + 2 ಸ್ಥಳಗಳು ಇರಬೇಕು.

1) ಪ್ರಮಾಣಿತ ಹೆಡರ್ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

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

ನಾವು ಈಗ ಏನು ಮಾಡಿದ್ದೇವೆ ಎಂದು ನೋಡೋಣ:

  • ನೆಟ್ವರ್ಕ್: - ಇದು ಕಾನ್ಫಿಗರೇಶನ್ ಬ್ಲಾಕ್ನ ಪ್ರಾರಂಭವಾಗಿದೆ.
  • ರೆಂಡರರ್: ನೆಟ್‌ವರ್ಕ್ಡ್ - ಇಲ್ಲಿ ನಾವು ಬಳಸುವ ನೆಟ್‌ವರ್ಕ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಸೂಚಿಸುತ್ತೇವೆ, ಇದು ನೆಟ್‌ವರ್ಕ್ ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದೆ
  • ಆವೃತ್ತಿ: 2 - ಇಲ್ಲಿ, ನಾನು ಅರ್ಥಮಾಡಿಕೊಂಡಂತೆ, YAML ಆವೃತ್ತಿಯಾಗಿದೆ.
  • ethernets: - ನಾವು ಈಥರ್ನೆಟ್ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ ಎಂದು ಈ ಬ್ಲಾಕ್ ಸೂಚಿಸುತ್ತದೆ.
  • 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

ಇಲ್ಲಿ ನಾವು ಗಸಗಸೆ, 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 ಇಂಟರ್‌ಫೇಸ್‌ನ ಅನಿಯಂತ್ರಿತ ಹೆಸರು.
  • ಐಡಿ: - ನಮ್ಮ vlan ನ ಟ್ಯಾಗ್.
  • ಲಿಂಕ್: — ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ vlan ಅನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.
  • ಮಾರ್ಗಗಳು: - ಮಾರ್ಗ ವಿವರಣೆ ಬ್ಲಾಕ್ ಅನ್ನು ಘೋಷಿಸಿ.
  • — to: — ಮಾರ್ಗದ ಅಗತ್ಯವಿರುವ ವಿಳಾಸ/ಉಪನೆಟ್ ಅನ್ನು ಹೊಂದಿಸಿ.
  • ಮೂಲಕ: - ನಮ್ಮ ಸಬ್‌ನೆಟ್ ಪ್ರವೇಶಿಸಬಹುದಾದ ಗೇಟ್‌ವೇ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ.
  • ಆನ್-ಲಿಂಕ್: - ಲಿಂಕ್ ಅನ್ನು ಹೆಚ್ಚಿಸಿದಾಗ ಮಾರ್ಗಗಳನ್ನು ಯಾವಾಗಲೂ ನೋಂದಾಯಿಸಬೇಕು ಎಂದು ನಾವು ಸೂಚಿಸುತ್ತೇವೆ.

ನಾನು ಜಾಗಗಳನ್ನು ಹೇಗೆ ಇರಿಸುತ್ತೇನೆ ಎಂಬುದರ ಬಗ್ಗೆ ಗಮನ ಕೊಡಿ; ಇದು YAML ನಲ್ಲಿ ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ.

ಆದ್ದರಿಂದ ನಾವು ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ವಿವರಿಸಿದ್ದೇವೆ, ಬಂಧವನ್ನು ರಚಿಸಿದ್ದೇವೆ ಮತ್ತು vlans ಅನ್ನು ಕೂಡ ಸೇರಿಸಿದ್ದೇವೆ. ನಮ್ಮ ಸಂರಚನೆಯನ್ನು ಅನ್ವಯಿಸೋಣ, 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]
    

ಈಗ ನಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಕಾರ್ಯಾಚರಣೆಗೆ ಸಿದ್ಧವಾಗಿದೆ, ಎಲ್ಲವೂ ಮೊದಲಿಗೆ ತೋರುತ್ತಿರುವಷ್ಟು ಭಯಾನಕವಲ್ಲ ಮತ್ತು ಕೋಡ್ ತುಂಬಾ ಸುಂದರ ಮತ್ತು ಓದಬಲ್ಲದು ಎಂದು ಹೊರಹೊಮ್ಮಿತು. ನೆಟ್‌ಪ್ಲಾನ್‌ಗಾಗಿ ಪಿಸಿ ಧನ್ಯವಾದಗಳು ಲಿಂಕ್‌ನಲ್ಲಿ ಅತ್ಯುತ್ತಮ ಕೈಪಿಡಿ ಇದೆ https://netplan.io/.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ