Π‘Π»Π΅Π΄ ΡΠ΅Π΄Π΅ΠΌ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ·ΡΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Netplan 1.0, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ Π½Π΅Π³ΠΎ ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Netplan ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ YAML ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ Π°Π±ΡΡΡΠ°Ρ ΠΈΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° NetworkManager ΠΈ systemd-networkd. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ Python ΠΈ C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv3.
Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΠ°ΡΡΠ²Π°Ρ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Canonical, Π½ΠΎ ΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ ΠΎΡ Microsoft ΠΈ Deutsche Telekom. Netplan Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Ubuntu ΠΎΡ Π²Π΅ΡΡΠΈΡ 17.10, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π΅ Π² Ubuntu 23.10 Desktop ΠΊΠ°ΡΠΎ Π±Π΅ΠΊΠ΅Π½Π΄ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² NetworkManager ΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Debian 12 Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Netplan ΡΡΡΠΎ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° cloud-init ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ° Calamares. ΠΠΎΠ²ΠΈΡΡ ΡΠ΅Π»ΠΈΠ· Netplan 1.0 ΡΠ΅ Π²Π»Π΅Π·Π΅ Π² ΡΡΡΡΠ°Π²Π° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° Ubuntu 24.04 ΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π² Debian 13.
Netplan 1.0 Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΡΠ΅Π»ΠΈΠ·, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΡΡΠ²Π΅ΠΌ ΠΎΡ Π½ΡΠΊΠΎΠΈ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π΄ΡΠ»Π³ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈ ΠΏΡΠ΅ΡΠΊΠΈΡΠ΅, Π²ΡΠ·ΠΏΡΠ΅ΠΏΡΡΡΡΠ²Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΈΠ΄Π΅ΠΈ. ΠΡΠ²Π΅Π½ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° API-ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libnetplan1, Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
- ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° WPA2 ΠΈ WPA3.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Mellanox VF-LAG Ρ SR-IOV (Single-Root I/O Virtualization).
- ΠΠΎΠ²ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Β«hairpinΒ» ΠΈ Β«port-mac-learningΒ», ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΡΠ½Π΅Π»ΠΈ VXLAN Ρ FRRouting.
- ΠΠΎΠ² Π½Π°Π±ΠΎΡ ΠΎΡ ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π·Π° Π΅Π·ΠΈΠΊΠ° Python (python3-netplan), ΠΎΠΏΡΠΎΡΡΡΠ²Π°ΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«netplan status βdiffΒ», ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΡΡ ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.

ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° netplan ΡΠ½ΠΈΡΠΈΡΠΈΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² NetworkManager ΠΈ systemd-networkd, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°ΠΉΠΊΠΈ ΠΎΡ Π½ΡΠΆΠ΄Π°ΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΡΡΠ°Π²Π°Ρ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΠ΅Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° netplan Π΅, ΡΠ΅ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΡΠΎΠΉ ΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Β«/ {lib, etc, run} / netplan/*.yamlΒ» ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° /run Π² ΡΠΎΡΠΌΠ°Ρ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π² systemd-networkd ΠΈΠ»ΠΈ NetworkManager.

ΠΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ Π½Π° Netplan:
- ΠΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°;
- Π¦ΡΠ»Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ YAML ΡΠ°ΠΉΠ» (Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° /etc/network/interfaces);
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° libvirt ΠΈ lxd);
- ΠΡΠ²ΠΊΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ ΠΈ ΡΠΌΡΠ½Π° Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°.
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π² netplan ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ»ΠΎΠΆΠ½Π° ΠΌΡΠ΅ΠΆΠ°.
Π‘ΡΠ΅Π΄ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° netplan Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ifupdown:
- ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΌΠ°ΡΠΊΠΈ Π·Π° ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, MAC Π°Π΄ΡΠ΅ΡΠΈ, Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ;
- ΠΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠ΅Π΄ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈΡΠ΅ (ΠΏΡΠΈ ifupdown Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΡΡΡΡΠ΅Π·Π°ΡΠ΅Π»Π½ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

