Выпуск Netplan 1.1, инструмСнтария для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сСти

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· инструмСнтария Netplan 1.1, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для хранСния настроСк сСтСвых интСрфСйсов ΠΈ связанныС с Π½ΠΈΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для управлСния сСтСвыми конфигурациями. Netplan обСспСчиваСт Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ YAML ΠΈ прСдоставляСт бэкСнды, Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ доступ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для NetworkManager ΠΈ systemd-networkd. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ примСняСтся Π² дистрибутивС Ubuntu начиная с выпуска 17.10 ΠΈ Π² сборках Debian 12 для ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСм. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Canonical ΠΏΡ€ΠΈ участии сотрудников ΠΈΠ· Microsoft ΠΈ Deutsche Telekom. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языках Python ΠΈ C, ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.

Π Π°Π±ΠΎΡ‚Π° netplan сводится ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ сСтСвых настроСк ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² «/{lib,etc,run}/netplan/*.yaml» Π² процСссС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ записи ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /run Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, подходящСм для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² systemd-networkd ΠΈΠ»ΠΈ NetworkManager. Вся конфигурация хранится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² исходном YAML-Ρ„Π°ΠΉΠ»Π΅ Π±Π΅Π· использования «/etc/network/interfaces», ΠΏΡ€ΠΈ этом допускаСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для выноса Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ настроСк libvirt ΠΈ lxd. ОписаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сСтСвых интСрфСйсов осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ синтаксиса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ достаточно просто ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ структуру слоТной сСти.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ifupdown Π² netplan примСняСтся Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ синтаксис; имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния масок для ΠΈΠΌΡ‘Π½ сСтСвых интСрфСйсов, MAC-адрСсов, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²; ΠΏΡ€ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² сСтСвых интСрфСйсов учитываСтся контСкст, Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ настройки ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ (Π² ifupdown ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ слоТных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… состояниСм Π³ΠΎΠ½ΠΊΠΈ).

Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСопрСдСлСния Π»ΠΎΠ³ΠΈΠΊΠΈ сСрвиса systemd-networkd-wait-online для оТидания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… (link-local) ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… (с состояниСм routable) сСтСвых интСрфСйсов.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° измСнСния настроСк Ρ€Π΅ΠΆΠΈΠΌΠ° eswitch (embedded-switch-mode) для сСтСвых интСрфСйсов Π±Π΅Π· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (VF, virtual-function) Π½Π° устройствах SR-IOV (Single Root I/O Virtualization).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π»Π°Π³ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° парсСр ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для игнорирования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… настроСк Π±Π΅Π· остановки Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ всСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ бэкСнда.
  • ВнСсСны исправлСния, Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, спСцифичныС для ProtonVPN ΠΈ Microsoft Azure Linux.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru