# Установка VyOS и управление образами

> Установка VyOS на физическое оборудование, ВМ и облачные платформы (Yandex Cloud, VK Cloud, AWS, Azure, GCP) с управлением версиями

Source: https://opennix.org/docs/vyos/first-steps/vyos-installation/


VyOS может быть установлена на различные платформы: физическое оборудование, виртуальные машины, облачные среды.

## Требования к системе

### Минимальные требования

- **Процессор**: 1 CPU core (64-bit)
- **Память**: 512 MB RAM
- **Дисковое пространство**: 2 GB

### Рекомендуемые требования

- **Процессор**: 2+ CPU cores
- **Память**: 2 GB RAM или более
- **Дисковое пространство**: 10 GB или более

## Предварительные требования для виртуальных установок

**Важно**: При установке на виртуальные машины убедитесь, что MAC-адреса сетевых интерфейсов не являются локально администрируемыми (locally administered). Локально администрируемые адреса определяются установкой второго младшего бита первого октета в 1.

Пример локально администрируемого MAC-адреса (не рекомендуется):
```
02:00:00:00:00:01
```

Рекомендуемый формат MAC-адреса:
```
00:50:56:xx:xx:xx
```

## Загрузка образа

Загрузите ISO-образ VyOS:

- **Официальный релиз**: https://vyos.io/
- **Nightly builds**: https://vyos.net/get/nightly-builds/

### Доступные версии

- **VyOS 1.5.x (Circinus)** - Rolling release (текущая разработка)
- **VyOS 1.4.x (Sagitta)** - LTS (Long Term Support)

## Типы установки

### 1. Live-установка

Live-образ позволяет запустить VyOS без установки на диск. Это полезно для:
- Тестирования VyOS
- Аварийного восстановления
- Временного использования

После загрузки с ISO войдите в систему:
- Username: `vyos`
- Password: `vyos`

### 2. Постоянная установка

Для установки VyOS на диск выполните команду:

```
vyos@vyos:~$ install image
```

Мастер установки задаст следующие вопросы:

```
Would you like to continue? (Yes/No) [Yes]: Yes
Partition (Auto/Parted/Skip) [Auto]: Auto
Install the image on? [sda]: sda
Continue? (Yes/No) [No]: Yes
How big of a root partition should I create? (2000MB - 20000MB) [20000]:
What would you like to name this image? [1.5.x-latest]:
Copy config to new image? (Yes/No) [No]: No
Enter password for user 'vyos': ********
Retype password for user 'vyos': ********
Which drive should GRUB modify the boot partition on? [sda]: sda
```

Параметры установки:
- **Partition**: Автоматическое разбиение диска
- **Install the image on**: Целевой диск (обычно sda)
- **Root partition size**: Размер корневого раздела
- **Image name**: Имя образа (для управления версиями)
- **Copy config**: Копировать ли текущую конфигурацию
- **Password**: Пароль пользователя vyos
- **GRUB**: Установка загрузчика

После установки перезагрузите систему:

```
vyos@vyos:~$ reboot
```

## Установка в различных средах

### Виртуальные среды

#### Libvirt/KVM/QEMU

```bash
virt-install \
  --name vyos \
  --ram 2048 \
  --vcpus 2 \
  --disk path=/var/lib/libvirt/images/vyos.qcow2,size=10 \
  --os-variant debian10 \
  --network bridge=virbr0 \
  --graphics vnc \
  --console pty,target_type=serial \
  --cdrom /path/to/vyos.iso
```

#### Proxmox VE

1. Загрузите ISO в хранилище Proxmox
2. Создайте новую виртуальную машину:
   - OS Type: Linux (6.x - 2.6 Kernel)
   - Memory: минимум 512MB, рекомендуется 2GB
   - Network: VirtIO (паравиртуализация)
   - Disk: VirtIO SCSI, минимум 2GB
3. Загрузите с ISO и выполните `install image`

#### VMware ESXi

1. Создайте новую виртуальную машину:
   - Guest OS: Other Linux (64-bit)
   - Memory: минимум 512MB
   - Network Adapter: VMXNET3
   - SCSI Controller: VMware Paravirtual
2. Подключите ISO-образ VyOS
3. Загрузите и выполните установку

### Облачные среды

#### Amazon AWS

VyOS доступна в AWS Marketplace:

1. Найдите AMI VyOS в Marketplace
2. Запустите EC2 инстанс
3. Подключитесь по SSH используя ключ EC2

Начальная конфигурация:
```bash
ssh -i your-key.pem vyos@<instance-ip>
```

#### Microsoft Azure

1. Найдите VyOS в Azure Marketplace
2. Создайте виртуальную машину
3. Подключитесь по SSH

#### Google Cloud Platform

1. Найдите VyOS в GCP Marketplace
2. Создайте Compute Engine инстанс
3. Подключитесь по SSH через консоль GCP или gcloud CLI

#### Яндекс.Облако

VyOS доступна в Яндекс.Облаке через Marketplace. При развертывании используются оптимизированные образы для облачной среды.

##### Развертывание из Marketplace

1. Перейдите в Yandex Cloud Marketplace
2. Найдите VyOS (доступны версии 1.4 LTS и 1.5 Current)
3. Создайте виртуальную машину из образа
4. Укажите SSH ключ в metadata при создании

##### Важные особенности для Yandex Cloud

**Автоматическая конфигурация при первом запуске:**
- Образ автоматически настраивается при первой загрузке через cloud-init
- Создается пользователь из метаданных инстанса (вместо стандартного `vyos`)
- SSH ключи добавляются автоматически из Yandex Cloud metadata
- Password authentication отключается после настройки SSH ключей
- Cloud-init отключается после первого запуска для безопасности
- Сетевая конфигурация полностью управляется VyOS (cloud-init не управляет сетью)

**Доступ к инстансу:**
```bash
ssh -l <your-username> <instance-ip>
```

Где `<your-username>` - имя пользователя из метаданных Yandex Cloud (обычно совпадает с логином в консоли).

**Оптимизации для Yandex Cloud:**
- Включен qemu-guest-agent для интеграции с гипервизором
- Настроены VirtIO offloading (GSO, GRO, TSO, SG)
- Оптимизирован TCP stack (BBR congestion control)
- Настроена консоль через serial port (ttyS0) для доступа через Yandex Cloud Console
- Автоматическое расширение корневого раздела до полного размера диска

**Metadata service:**
```
datasource_list: [ Ec2 ]
datasource:
  Ec2:
    metadata_urls: [ 'http://169.254.169.254' ]
    strict_id: false
```

**Сетевая конфигурация отключена в cloud-init:**
```yaml
network: {config: disabled}
```

Это обеспечивает полный контроль VyOS над сетевой конфигурацией.

### Физическое оборудование

#### Поддерживаемые платформы

VyOS работает на различном x86_64 оборудовании:

- **Supermicro A2SDi** (Atom C3000)
- **PC Engines APU4**
- **Qotom Q355G4**
- **Partaker i5**
- **Acrosser AND-J190N1**
- **Gowin GW-FN-1UR1-10G**
- Любой x86_64 сервер с поддержкой VGA/Serial консоли

#### Процесс установки

1. Запишите ISO на USB-накопитель:
```bash
dd if=vyos-1.5.x.iso of=/dev/sdX bs=4M status=progress
sync
```

2. Загрузитесь с USB
3. Выполните `install image`
4. Извлеките USB и перезагрузите систему

### PXE Boot

VyOS поддерживает загрузку по сети через PXE:

1. Настройте TFTP-сервер
2. Извлеките kernel и initrd из ISO
3. Настройте PXE конфигурацию:

```
LABEL vyos
    MENU LABEL VyOS
    KERNEL vyos/vmlinuz
    APPEND initrd=vyos/initrd.img boot=live
```

## Обновление VyOS

### Добавление нового образа

Загрузка и установка нового образа:

```
vyos@vyos:~$ add system image https://example.com/vyos-1.5.x-latest.iso
```

Или с локального файла:

```
vyos@vyos:~$ add system image /tmp/vyos-1.5.x-latest.iso
```

### Просмотр установленных образов

```
vyos@vyos:~$ show system image
The system currently has the following image(s) installed:

   1: 1.5.x-latest (default boot)
   2: 1.5.x-previous
   3: 1.4.x-stable
```

### Выбор образа для загрузки

Установка образа по умолчанию:

```
vyos@vyos:~$ set system image default-boot 1.5.x-latest
```

### Удаление старых образов

```
vyos@vyos:~$ delete system image 1.4.x-stable
```

## Откат системы

VyOS поддерживает откат к предыдущим версиям образов.

### Откат через GRUB

При загрузке системы:
1. Прервите автоматическую загрузку (нажмите любую клавишу)
2. Выберите нужный образ из списка
3. Загрузитесь с выбранного образа

### Откат конфигурации

После загрузки предыдущего образа можно восстановить конфигурацию:

```
vyos@vyos:~$ configure
vyos@vyos# rollback 1
vyos@vyos# commit
vyos@vyos# save
```

## Secure Boot

VyOS поддерживает Secure Boot начиная с версии 1.5.x.

### Установка с Secure Boot

1. Убедитесь, что Secure Boot включен в UEFI/BIOS
2. Загрузитесь с ISO (подписанного образа)
3. Выполните стандартную установку:
```
vyos@vyos:~$ install image
```

### Обновление образа с Secure Boot

При добавлении нового образа убедитесь, что он подписан:

```
vyos@vyos:~$ add system image https://example.com/vyos-1.5.x-signed.iso
```

### Проверка Secure Boot

Проверка статуса Secure Boot:

```
vyos@vyos:~$ show system boot secure-boot
Secure Boot: enabled
```

### Устранение неполадок Secure Boot

Если система не загружается с включенным Secure Boot:

1. Проверьте, что используется подписанный образ
2. Убедитесь, что сертификаты правильно установлены в UEFI
3. Попробуйте отключить Secure Boot временно для диагностики

## Резервное копирование и восстановление

### Резервное копирование конфигурации

Копирование конфигурации на удаленный сервер:

```
vyos@vyos:~$ save /tmp/config.boot
vyos@vyos:~$ scp /tmp/config.boot user@backup-server:/backups/
```

### Восстановление конфигурации

```
vyos@vyos:~$ scp user@backup-server:/backups/config.boot /tmp/
vyos@vyos:~$ configure
vyos@vyos# load /tmp/config.boot
vyos@vyos# commit
vyos@vyos# save
```

## Известные проблемы

### Проблемы с MAC-адресами

При клонировании виртуальных машин убедитесь, что MAC-адреса сетевых интерфейсов уникальны.

### Проблемы с загрузкой

Если система не загружается после установки:
1. Проверьте настройки BIOS/UEFI
2. Убедитесь, что GRUB установлен на правильный диск
3. Попробуйте загрузиться с ISO и переустановить GRUB

### Проблемы с Secure Boot

Если Secure Boot не работает:
1. Убедитесь, что используется подписанный образ
2. Проверьте, что Platform Key (PK) правильно установлен
3. Попробуйте сбросить UEFI настройки до заводских

## Следующие шаги

После установки VyOS продолжите с:

- [Быстрый старт](/docs/vyos/first-steps/vyos-quick-start/) - базовая конфигурация NAT-шлюза
- [Интерфейс командной строки](/docs/vyos/first-steps/vyos-cli/) - изучение CLI
- [Обзор конфигурации](/docs/vyos/first-steps/vyos-config-overview/) - понимание структуры конфигурации

