ื ืขื˜ืคึผืœืึทืŸ ืื•ืŸ ื•ื•ื™ ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ืขืก ืจื™ื›ื˜ื™ืง

ื•ื‘ื•ื ื˜ื• ืื™ื– ืึทืŸ ืึทืžื™ื™ื–ื™ื ื’ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ื’ืขืืจื‘ืขื˜ ืžื™ื˜ ื•ื‘ื•ื ื˜ื• ืกืขืจื•ื•ืขืจ ืคึฟืึทืจ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜ ืื•ืŸ ืขืก ืื™ื– ืงื™ื™ืŸ ืคื•ื ื˜ ืฆื• ืึทืคึผื’ืจื™ื™ื“ ืžื™ื™ืŸ ื“ืขืกืงื˜ืึธืคึผ ืคึฟื•ืŸ ื“ื™ ืกื˜ืึทื‘ื™ืœ ื•ื•ืขืจืกื™ืข. ืื•ืŸ ื ื™ื˜ ืœืึทื ื’ ืฆื•ืจื™ืง ืื™ืš ื’ืขื”ืื˜ ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื“ื™ ืœืขืฆื˜ืข ืžืขืœื“ื•ื ื’ ืคื•ืŸ Ubuntu ืกืขืจื•ื•ืขืจ 18.04, ืžื™ื™ืŸ ื™ื‘ืขืจืจืึทืฉืŸ ื’ืขื•ื•ืื•ืกื˜ ืงื™ื™ืŸ ื’ื•ื•ื•ืœ ื•ื•ืขืŸ ืื™ืš ืื™ื™ื ื’ืขื–ืขืŸ ืึทื– ืื™ืš ืื™ื– ื™ื ืคืึทื ืึทื˜ ื”ื™ื ื˜ืขืจ ื“ื™ ืฆื™ื™ื˜ ืื•ืŸ ืงืขืŸ ื ื™ืฉื˜ ืฉื˜ืขืœืŸ ื–ื™ืš ืึท ื ืขืฅ ื•ื•ื™ื™ึทืœ ื“ื™ ื’ื•ื˜ ืึทืœื˜ ืกื™ืกื˜ืขื ืคึฟืึทืจ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื ืขืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ื“ื•ืจืš ืขื“ื™ื˜ื™ื ื’ ื“ื™ /etc/ื ืขื˜ื•ื•ืึธืจืง ื˜ืขืงืข / ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ื”ืื˜ ื ื™ื˜ืึธ ืึทืจืึธืคึผ ื“ื™ ืคืœื™ืกืŸ. ืื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืงื•ืžืขืŸ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ืขืก? ืขืคึผืขืก ืฉืจืขืงืœืขืš ืื•ืŸ ืื•ื™ืคึฟืŸ ืขืจืฉื˜ืŸ ื‘ืœื™ืง ื’ืึธืจ ืื•ืžืคึฟืึทืจืฉื˜ืขื ื“ืœืขืš, ื˜ืจืขืคึฟืŸ ื–ื™ืš "ื ืขื˜ืคึผืœืึทืŸ".

ืฆื• ื–ื™ื™ืŸ ืขืจืœืขืš, ื”ืื‘ ืื™ืš ืขืจืฉื˜ ื ื™ืฉื˜ ื’ืขืงืขื ื˜ ืคืืจืฉื˜ื™ื™ืŸ ื•ื•ืืก ืื™ื– ื“ื™ ืžืขืฉื” ืื•ืŸ "ืคืืจื•ื•ืืก ื“ืืจืฃ ืžืขืŸ ื“ืืก, ื•ื•ื™ื™ืœ ืืœืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื–ื•ื™ ื‘ืืงื•ื•ืขื", ืื‘ืขืจ ื ืืš ืื‘ื™ืกืœ ืคื™ืจื•ื ื’ ื”ืื‘ ืื™ืš ืื™ื™ื ื’ืขื–ืขืŸ ืื– ืขืก ื”ืื˜ ืืŸ ืื™ื™ื’ืขื ืขื ื›ื™ื™ืŸ, ืื•ืŸ ืื–ื•ื™ ื’ืขื ื•ื’ ืคื•ืŸ ื“ื™ ืœื™ืจื™ืงืก, ืœืึธืžื™ืจ ืคืึธืจื–ืขืฆืŸ ืžื™ื˜ ื•ื•ืึธืก Netplan ืื™ื–, ื“ืึธืก ืื™ื– ืึท ื ื™ื™ึทืข ื ื•ืฆืŸ ืคึฟืึทืจ ื ืขืฅ ืกืขื˜ื˜ื™ื ื’ืก ืื™ืŸ ื•ื‘ื•ื ื˜ื•, ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ "ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ื’ืขื–ืขืŸ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก ืื™ืŸ ืื ื“ืขืจืข ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื–." ื ื‘ืึทื˜ื™ื™ื˜ื™ืง ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ Netplan ืื™ื– ืึทื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ื“ืขืจ ืฉืคึผืจืึทืš ื™ืึทืžืœ, ื™ืึธ, ืื™ืจ ื”ืึธื˜ ืจืขื›ื˜ ื’ืขื”ืขืจื˜ ื™ืžืœ, ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื”ืึทืœื˜ืŸ ื–ื™ืš ืžื™ื˜ ื“ื™ ืฆื™ื™ื˜ (ืื•ืŸ ืงื™ื™ืŸ ืขื ื™ืŸ ื•ื•ื™ ืคื™ืœ ื–ื™ื™ ืœื•ื™ื‘ืŸ ืขืก, ืื™ืš ื ืึธืš ื˜ืจืึทื›ื˜ืŸ ืขืก ืื™ื– ืึท ืฉืจืขืงืœืขืš ืฉืคึผืจืึทืš). ื“ืขืจ ื”ื•ื™ืคึผื˜ ื›ื™ืกืึธืจืŸ ืคื•ืŸ ื“ืขื ืฉืคึผืจืึทืš ืื™ื– ืึทื– ืขืก ืื™ื– ื–ื™ื™ืขืจ ืฉืคึผื™ืจืขื•ื•ื“ื™ืง ืฆื• ืกืคึผื™ื™ืกืึทื–, ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžื™ื˜ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ.

ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ื–ืขื ืขืŸ ืœื™ื’ืŸ ืฆื•ื–ืืžืขืŸ ื“ืขื ื“ืจืš /etc/netplan/filename.yaml, ืฆื•ื•ื™ืฉืŸ ื™ืขื“ืขืจ ื‘ืœืึธืง ืขืก ื–ืึธืœ ื–ื™ื™ืŸ + 2 ืกืคึผื™ื™ืกืึทื–.

1) ื“ืขืจ ื ืึธืจืžืึทืœ ื›ืขื“ืขืจ ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

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

ื–ืืœ ืก ืงื•ืง ืื™ืŸ ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขื˜ืืŸ ืื™ืฆื˜:

  • ื ืขืฅ: - ื“ืึธืก ืื™ื– ื“ืขืจ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื‘ืœืึธืง.
  • ืจืขื ื“ืขืจืขืจ: ื ืขื˜ื•ื•ืึธืจืง - ื“ืึธ ืžื™ืจ ืึธื ื•ื•ื™ื™ึทื–ืŸ ื“ื™ ื ืขืฅ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ, ื“ืึธืก ืื™ื– ื ืขื˜ื•ื•ืึธืจืง ืึธื“ืขืจ ื ืขื˜ื•ื•ืึธืจืง ืžืึทื ืึทื’ืขืจ
  • ื•ื•ืขืจืกื™ืข: 2 - ื“ืึธ, ื•ื•ื™ ืื™ืš ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืขืก, ืื™ื– ื“ื™ YAML ื•ื•ืขืจืกื™ืข.
  • ืขื˜ื”ืขืจื ืขื˜ืก: - ื“ืขื ื‘ืœืึธืง ื™ื ื“ื™ืงื™ื™ืฅ ืึทื– ืžื™ืจ ื•ื•ืขืœืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืขื˜ื”ืขืจื ืขื˜ ืคึผืจืึธื˜ืึธืงืึธืœ.
  • 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

ื“ืึธ ืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ืžืึธืŸ, ื™ืคึผื•ื•4, ื’ื™ื™ื˜ื•ื•ื™ื™ ืื•ืŸ ื“ื ืก ืกืขืจื•ื•ืขืจ. ื‘ืึทืžืขืจืงื•ื ื’ ืึทื– ืื•ื™ื‘ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืžืขืจ ื•ื•ื™ ืื™ื™ืŸ 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: - ื“ืขืจืงืœืขืจืŸ ื“ื™ ื•ื•ืœืึทืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื‘ืœืึธืง.
  • vlan10: - ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื•ื•ืœืึทืŸ ืฆื•ื‘ื™ื ื“.
  • ืฉื™ื™ึทืŸ: - ืงื•ื•ื™ื˜ืœ ืคื•ืŸ ืื•ื ื“ื–ืขืจ ื•ื•ืœืึทืŸ.
  • ืœื™ื ืง: - ืฆื•ื‘ื™ื ื“ ื“ื•ืจืš ื•ื•ืึธืก ื“ื™ ื•ื•ืœืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืฆื•ื˜ืจื™ื˜ืœืขืš.
  • ืจื•ืฅ: - ื“ืขืจืงืœืขืจืŸ ืึท ืžืึทืจืฉืจื•ื˜ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ื‘ืœืึธืง.
  • - ืฆื•: - ืฉื˜ืขืœืŸ ื“ื™ ืึทื“ืจืขืก / ืกื•ื‘ื ืขื˜ ืฆื• ื•ื•ืึธืก ื“ืขืจ ืžืึทืจืฉืจื•ื˜ ืื™ื– ื“ืืจืฃ.
  • ื“ื•ืจืš: - ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื’ื™ื™ื˜ื•ื•ื™ื™ ื“ื•ืจืš ื•ื•ืึธืก ืื•ื ื“ื–ืขืจ ืกื•ื‘ื ืขื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืฆื•ื˜ืจื™ื˜ืœืขืš.
  • ืื•ื™ืฃ-ืœื™ื ืง: - ืžื™ืจ ืึธื ื•ื•ื™ื™ึทื–ืŸ ืึทื– ืจื•ืฅ ื–ืึธืœ ืฉื˜ืขื ื“ื™ืง ื–ื™ื™ืŸ ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื•ื•ืขืŸ ื“ื™ ืœื™ื ืง ืื™ื– ืื•ื™ืคืฉื˜ื™ื™ืŸ.

ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื•ื•ื™ ืื™ืš ืฉื˜ืขืœืŸ ืกืคึผื™ื™ืกืึทื–; ื“ืึธืก ืื™ื– ื–ื™ื™ืขืจ ื•ื•ื™ื›ื˜ื™ืง ืื™ืŸ YAML.

ืึทื–ื•ื™ ืžื™ืจ ื“ื™ืกืงืจื™ื™ื‘ื“ ื“ื™ ื ืขืฅ ื™ื ื˜ืขืจืคื™ื™ืกื™ื–, ื‘ืืฉืืคืŸ ื‘ืึทื ื“ื™ื ื’ ืื•ืŸ ืืคื™ืœื• ืฆื•ื’ืขื’ืขื‘ืŸ ื•ื•ืœืึทื ื–. ืœืึธืžื™ืจ ืึธื ื•ื•ืขื ื“ืŸ ืื•ื ื“ื–ืขืจ ืงืึธื ืคื™ื’, ื“ื™ ื ืขื˜ืคึผืœืึทืŸ ืฆื•ืœื™ื™ื’ืŸ ื‘ืึทืคึฟืขืœ ื•ื•ืขื˜ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื•ื ื“ื–ืขืจ ืงืึธื ืคื™ื’ ืคึฟืึทืจ ืขืจืจืึธืจืก ืื•ืŸ ืฆื•ืœื™ื™ื’ืŸ ืขืก ืื•ื™ื‘ ื’ืขืจืึธื˜ืŸ. ื•ื•ื™ื™ึทื˜ืขืจ, ื“ื™ ืงืึธื ืคื™ื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื•ื™ืคืฉื˜ื™ื™ืŸ ืื•ื™ืฃ ื–ื™ืš ื•ื•ืขืŸ ื“ื™ ืกื™ืกื˜ืขื ืื™ื– ืจืขื‘ืึธืึธื˜ืขื“.

ื•ื•ื™ื™ืœ ื’ืขื–ืืžืœื˜ ืึทืœืข ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ื‘ืœืึทืงืก ืคื•ืŸ ืงืึธื“, ื“ืึธืก ืื™ื– ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ:

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’