Возникла необходимость быстро развернуть роутер для доступа клиентов, и при наличии под боком сервера с развернутым Hyper-V, определило вводные. Пришлось набить несколько шишек, которые я решил учесть в данной статье, чтобы читателю было проще жить, и сэкономить свое драгоценное время.
Для начала, нужно определиться, в какой системе координат будем жить — виртуальная машина будет первого или второго поколения. Исходя из этого, будут вытекать особенности настройки. Они заключаются в том, какой образ развертывания мы будем использовать.
И так, заходим на страницу генерации образов (мы же не фуфлогоны какие, будем собирать образ сами).
1. Выбираем самый стабильный билд сборки.
2. Раскрываем «Изменить перечень устанавливаемых пакетов и/или первый загрузочный скрипт» и добавляем в конец длинного списка сразу дополнительные пакеты, которые нам в дальнейшем понадобятся:
3. Нажимаем «Запросить сборку», и смиренно ждем. Не забываем проверить логи, что сборка образа прошла корректно!
По итогу, мы можем скачать один из двух образов
1. combined-efi(ext4) — образ для виртуальной машины 2 поколения
2. combined(ext4) — образ для виртуальной машины 1 поколения
Здесь пути расходятся, и настройки виртуальной машины слегка различаются, но принцип остается единый.
Мы же пойдем по пути варианта с виртуальной машины 2 поколения. В связи с этим качаем тот образ, который у нас обозначен в пункте 1.
После этого, мы идем в консоль управления Hyper-V и создаем виртуальную машину с перечисленными ниже параметрами:
Выделенная оперативная память 2048 Мб (меньше нет смысла ставить)
Сетевые интерфейсы стоит настроить позже
Дисковое пространство минимально стоит выделить 2Гб
Нажимаем кнопку готово, и идем в свойства виртуальной машины.
Меняем настройки:
1. В пункте Безопасности (Security) отключаем безопасную загрузку (Enable Secure Boot), так как это все работает нормально только с Windows
2. Процессорных ядер выделяем 2 штуки.
3. Добавляем наши сетевые интерфейсы (их нам как минимум нужно 2 штуки WAN и LAN)
На этом магия настройки можно считать законченной, начинается магия раскатывания ранее скачанного образа в диск виртуальной машины.
Для этого нам понадобится очень нужная в руках системного администратора утилита rufus, качаем portable версию.
Пока не запускаем, а идем по пути, где у нас хранится виртуальный жесткий диск нашей машины и два раза тыкаем на ее, таким образом она у нас присоединится в диспетчере дисков нашей Windows. При этом может вылезти ошибка, что диск поврежден, но это нормально.
Для убедительности зайдем в диспетчер дисков и увидим, что диск присоединен, и имеет емкость, которую мы указали при настройке.
Далее запускаем утилиту rufus, и выбираем наш только что подключенный диск, и образ который скачали в нашем самом начале.
Еще раз все проверяем, и перекрестившись нажимаем кнопку «СТАРТ», ждем немного времени и убеждаемся в диспетчере дисков, что появились новые разделы на виртуальном подключенном диске. Если это произошло, то закрываем утилиту, после этого правой клавишей тыкаем в диспетчере дисков на диск (простите за тавтологию) и отключаем виртуальный диск. На этом все, переходим в диспетчер Hyper-V и запускаем виртуальную машину, и с замираем в сердце наблюдаем первую загрузку OpenWRT.
! Спешу напомнить, что ОЧЕНЬ желательно присоединить все сетевые интерфейсы которые нам необходимы сразу, иначе могут быть в дальнейшем проблемы с их конфигурированием.
Вроде все основные моменты и сделаны, IP адреса настроены (DNS сервер прописан, а то пакеты не будут скачиваться), интернет появился, кроме одного — у нас доступного пространства для установки пакетов всего 100Мб, прямо не порядок.
Но не беда, это поправимо (мы же помним, что наш билд был собран вручную, с дополнительными пакетами? Вот они нам сейчас и понадобятся).
Да, если настраивать IP адреса первоначально будем через консоль внося правки в конфиг файлы, то вот небольшая шпаргалка:
vim /etc/config/network
#Чтобы сохранить изменения нажимаем на клавиатуре двоеточие, и потом пишем qw (то есть сохранить и выйти)
Порядок действий будет такой:
1. Заходим по SSH, или в консоль управления виртуалкой Hyper-V.
2. Пишем последовательность магических команд.
#Если поленились собрать образ самостоятельно, и скачали дефолтный образ
opkg install lsblk resize2fs losetup parted fdisk
#Убеждаемся, что необходимые названия дисков на месте
lsblk
#Смотрим состояние разделов до
parted -l -s
# Изменяем раздел до возможного
parted -f -s /dev/sda resizepart 2 100%
#Перезагрузка обязательна
reboot
#Переносим освободившееся пространство
losetup /dev/loop0 /dev/sda2 2> /dev/null
#Делаем резайз раздела
resize2fs -f /dev/loop0
#Перезагрузка обязательна
reboot
Ну и по итогу, смотрим на приятное глазу увеличение дискового пространства, куда можно и пакеты поставить новые и логи при необходимости позаписывать…
Полезные ссылки:
Setup/Install OpenWRT On Hyper-V