Данная инструкция описывает установку виртуального роутера OpenWRT в системе виртуализации Proxmox VE и предполагает что система Proxmox VE уже установлена на вашем устройстве.
Создание и подготовка виртуальной машины для OpenWRT
Войдите в Proxmox и нажмите кнопку «Создать ВМ» в правом верхнем углу
Далее укажите «Имя» для виртуальной машины и «VM ID». В поле «Имя» можете вписать любое осмысленное название. В VM ID укажите номер который не используется другими виртуальными машинами, далее он вам понадобится при вводе команды импорта IMG файла OpenWRT.
Активируйте опцию «Дополнительно» для использования расширенного меню, затем активируйте опцию «Запуск при загрузке»
Нажмите «Далее»
В следующей странице меню ОС установите Не использовать носители, затем нажмите Далее
На странице меню Система оставьте все по умолчанию и нажмите Далее
На странице Диски, укажите минимальный Размер диска, так как потом мы удалим его. Нажмите Далее
На странице Процессор обязательно измените «Тип» на «host» чтобы избежать ограничений производительности. В опции «Ядра» можете указать 2 ядра или одно в зависимости от дальнейшей эксплуатации. Нажмите Далее
На странице Память можете указать объем 1024 мегабайта. Этого будет достаточно, в противном случае объем оперативной памяти можно увеличить позже
На странице Сеть отключите опцию «Сетевой экран» так как мы будем пользоваться файрволлом OpenWRT и нажмите Далее
На последней странице Подтверждение просто нажмите Готово
Удаление виртуального диска для дальнейшего импорта образа IMG OpenWRT в Proxmox
Так как в следующих шагах мы будем импортировать готовый образ диска IMG, нам необходимо удалить пустой виртуальный диск созданный по умолчанию.
Выберете созданную в предыдущем шаге виртуальную машину в левой панели, затем перейдите во вкладку Оборудование, выберете Жесткий диск, затем нажмите Отключить и подтвердите свой выбор нажав Да
Затем выберете Неиспользуемый диск 0 и нажмите кнопку Удалить. Подтвердите свой выбор нажатием кнопки Да
Скачивание установочного образа OpenWRT для Proxmox
Для скачивания актуального официального образа OpenWRT для Proxmox перейдите по ссылке https://downloads.openwrt.org/releases/
Выберете актуальную версию релиза, затем перейдите в targets, выберете архитектуру x86, затем перейдите в 64 и скопируйте ссылку на актуальный образ https://downloads.openwrt.org/releases/24.10.1/targets/x86/64/generic-ext4-combined.img.gz
Импорт образа IMG OpenWRT в Proxmox и активация образа виртуального диска
После завершения загрузки образа img.gz используйте следующую команду, чтобы распаковать его в файл IMG (название файла после команды gunzip может отличаться в зависимости от выбранного вами образа и его версии)
gunzip openwrt-24.10.1-x86-64-generic-ext4-combined.img.gz
Затем переименуйте его в более короткое имя (openwrt.img), чтобы его было легче набирать.
mv openwrt-24.10.1-x86-64-generic-ext4-combined.img openwrt.img
Вы также можете загрузить файл OpenWrt на ваш компьютер, затем разархивировать его в файл IMG, переименовать и загрузить на сервер Proxmox с помощью SFTP клиентов WinSCP или FileZilla.
Далее импортируем файл IMG в виртуальную машину. Введите следующую команду для загрузки образа. 100 — это идентификатор виртуальной машины из первого шага (ваш VM ID может отличаться от моего), openwrt.img — это файл, который мы только что скачали, local-lvm — название хранилища виртуальной машины
qm importdisk 100 openwrt.img local-lvm
Вернитесь во вкладку Оборудование виртуальной машины OpenWrt, и вы увидите импортированный Неиспользуемый диск 0, выберете его и нажмите кнопку Редактировать
Выберете «SCSI» для «Шина/Устройство» (иногда требуется указать «SATA») и нажмите Добавить
Также необходимо добавить корректное сетевое устройство для того чтобы система OpenWRT могла подключиться к интернету и загружать новые пакеты
Нажмите Оборудование -> Сетевое устройство
Отключите опцию «Сетевой экран» и нажмите кнопку Добавить, сетевой мост можно оставить предложенный по умолчанию. Более детально будем настраивать в следующих шагах.
Далее необходимо добавить импортированный виртуальный диск в автозагрузку. Для этого перейдите в Параметры -> Порядок загрузки.
Затем поставьте галку напротив виртуального диска OpenWRT и перетащите его в самый верх. Нажмите ОК
Запустите виртуальную машину OpenWRT нажав кнопку «Запуск» в правом верхнем углу.
Затем переключитесь в «Консоль» OpenWRT и нажмите Enter для ввода команд внутри системы OpenWRT.
По умолчанию IP адрес OpenWRT это 192.168.1.1, по нему мы также заходим в веб интерфейс OpenWRT.
Если Proxmox и ваша действующая локальная сеть имеют другой IP типа 10.0.0.1, то для изменения стандартного IP OpenWRT используйте следующую команду. Вместо X.X.X.X введите новый IP адрес для OpenWRT.
Команды нужно вводить вручную, так как копирование в консоли Proxmox не работает для OpenWRT. Также при доступности OpenWRT в сети можно воспользоваться SSH клиентом WinCSP или Tabby для ввода команд.
uci set network.lan.ipaddr=’X.X.X.X’
uci commit network
/etc/init.d/network restart
По умолчанию в OpenWRT используется учетная запись root и пароль отсутствует. Для входа просто нажмите Login без ввода пароля
Установка пароля OpenWRT
Для установки первого пароля OpenWRT введите passwd в консоль OpenWRT
passwd
После ввода passwd дважды введите новый пароль для пользователя root
Также вы можете изменить пароль root в веб интерфейсе OpenWRT:
Увеличение объема диска OpenWRT в Proxmox
Образ OpenWRT x86 использует следующую структуру разделов (вид изнутри системы):
-
/dev/sda1 — это раздел ext4 /boot размером 16 МБ, в котором хранятся GRUB и ядро.
-
/dev/sda2 — это раздел размером 104 МБ, содержащий корневую файловую систему squashfs и файловую систему f2fs с возможностью чтения и записи ИЛИ корневую файловую систему ext4 (в зависимости от того, какой образ вы выбрали).
Любое дополнительное пространство на устройстве не распределено.
Так как на нашем устройстве с Proxmox имеется огромное количество памяти, мы можем позволить себе расширить дисковое пространство роутера /dev/sda2 со 104 МБ до 1 гигабайта и более. Объема памяти в 1 гигабайт будет вполне достаточно для загрузки всех возможных пакетов OpenWRT, но мы выделим память с запасом, т.е. 2 гигабайта.
Не советую выделять слишком большой объем памяти, так как уменьшить дисковое пространство гораздо сложнее чем увеличить. Используем 2 гигабайта или меньше.
Для начала отключаем виртуальную машину OpenWRT чтобы была возможность расширить используемый виртуальный диск. Нажимаем «Отключить» в правом верхнем углу.
Подтверждаем отключение нажатием Да
Перейдите во вкладку Оборудование, выберете Жесткий Диск, нажмите Действие над диском -> Изменить размер
Выставьте размер диска 2 гигабайта и нажмите Изменить размер диска
Запустите OpenWRT нажатием кнопки Запуск в правом верхнем углу
Размер диска изменился, но система не видит изменений потому как необходимо увеличить размер файловой системы и применить изменения при помощи losetup resize2fs
Подключитесь к OpenWRT через SSH клиент. Я буду использовать Tabby, вы можете выбрать любой другой SSH клиент
Для подключения SSH используем следующие параметры:
-
IP адрес (Хост): тот что присвоили ранее для OpenWRT в конце пункта 4
-
Порт: 22
-
Имя пользователя: root
-
Пароль: тот что присвоили в пункте 5
Используйте пакет parted в OpenWRT для того чтобы исправить таблицу разделов, определить и расширить корневой раздел.
Используйте пакет losstup для сопоставления корневого раздела и resize2fs для расширения корневой файловой системы.
Введите следующие команды для расширения корневого раздела и корневой файловой системы OpenWRT:
# Установка пакетов
opkg update
opkg install parted losetup resize2fs
## Расширение корневого раздела
# Определение имени диска и номера раздела
echo -e «ok\nfix» | parted -l —pretend-input-tty
# Расширение корневого раздела
parted -s /dev/sda resizepart 2 100%
## Расширение корневой файловой системы
# Сопоставление корневого раздела и петлевого устройства loop
losetup /dev/loop1 /dev/sda2
# Развернуть корневую файловую систему
resize2fs -f /dev/loop1
## Применить изменения
reboot
Объем диска OpenWRT увеличен до 2 гигабайт:
Русификация веб-интерфейса LuCi OpenWRT
Для установки русификации OpenWRT введите следующие команды в SSH клиенте:
# Установка пакета локализации LuCi OpenWRT с русским языком
opkg update
opkg install luci-i18n-base-ru
Также вы можете установить русский пакет локализации через веб-интерфейс нажав в верхнем меню System -> Software, затем нажмите кнопку Update lists… для обновления репозитория пакетов. Далее введите luci-i18n-base-ru в поле Filter, затем нажмите на кнопку Install напротив пакета luci-i18n-base-ru.
После установки пакета обновите страницу веб-интерфейса нажав на логотип OpenWRT или любую другую страницу веб-интерфейса.