Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| sysadmin:proxmox:openwrt [14:12:2024 13:45] – School Sysadmin | sysadmin:proxmox:openwrt [05:01:2025 22:47] (текущий) – School Sysadmin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Эмулируем arm64 OpenWRT | + | ====== OpenWRT arm64/ |
| + | ===== Эмулируем arm64/ | ||
| + | ==== OpenWRT x86_64 | ||
| - | ===== OpenWRT x86_64 ===== | ||
| - | В каталоге с релизами, | + | В каталоге с [[https:// |
| - | + | В консоли Proxmox (я использовал Shell в GUI, но нет причин, | |
| - | < | + | < |
| cd / | cd / | ||
| + | |||
| wget -c https:// | wget -c https:// | ||
| - | gunzip openwrt-23.05.3-x86-64-generic-squashfs-combined-efi.img.gz | + | |
| + | gunzip openwrt-23.05.5-x86-64-generic-squashfs-combined-efi.img.gz | ||
| </ | </ | ||
| - | Disclaimer: выбранный путь хранения образа, | + | |
| + | Выбранный путь хранения образа, | ||
| Собственно, | Собственно, | ||
| - | <code bash>qm create $(pvesh get / | + | |
| - | --name "openwrt-amd64" | + | <code bash> |
| - | --description "openwrt-amd64" | + | qm create $(pvesh get / |
| + | --name "OpenWRT-amd64" | ||
| + | --description "OpenWRT-amd64" | ||
| --arch x86_64 \ | --arch x86_64 \ | ||
| + | --tags " | ||
| + | --bios ovmf \ | ||
| + | --efidisk0 file=local-lvm: | ||
| + | --sockets 1 \ | ||
| + | --cores 2 \ | ||
| + | --memory 256 \ | ||
| + | --vga type=serial0 \ | ||
| + | --serial0 socket \ | ||
| + | --boot order=scsi0 \ | ||
| + | --scsihw virtio-scsi-pci \ | ||
| + | --scsi0 file=local-lvm: | ||
| + | --net0 model=virtio, | ||
| + | --net1 model=virtio, | ||
| + | </ | ||
| + | |||
| + | и запускать | ||
| + | |||
| + | < | ||
| + | |||
| + | Если все закончилось хорошо, | ||
| + | |||
| + | < | ||
| + | BusyBox v1.36.1 (2024-09-23 12:34:46 UTC) built-in shell (ash) | ||
| + | |||
| + | _______ | ||
| + | | ||
| + | | ||
| + | | ||
| + | |__| W I R E L E S S F R E E D O M | ||
| + | | ||
| + | | ||
| + | | ||
| + | === WARNING! ===================================== | ||
| + | There is no root password defined on this device! | ||
| + | Use the " | ||
| + | in order to prevent unauthorized SSH logins. | ||
| + | -------------------------------------------------- | ||
| + | </ | ||
| + | <code bash> | ||
| + | root@OpenWrt:/# | ||
| + | </ | ||
| + | < | ||
| + | NAME=" | ||
| + | VERSION=" | ||
| + | ID=" | ||
| + | ID_LIKE=" | ||
| + | PRETTY_NAME=" | ||
| + | VERSION_ID=" | ||
| + | HOME_URL=" | ||
| + | BUG_URL=" | ||
| + | SUPPORT_URL=" | ||
| + | BUILD_ID=" | ||
| + | OPENWRT_BOARD=" | ||
| + | OPENWRT_ARCH=" | ||
| + | OPENWRT_TAINTS="" | ||
| + | OPENWRT_DEVICE_MANUFACTURER=" | ||
| + | OPENWRT_DEVICE_MANUFACTURER_URL=" | ||
| + | OPENWRT_DEVICE_PRODUCT=" | ||
| + | OPENWRT_DEVICE_REVISION=" | ||
| + | OPENWRT_RELEASE=" | ||
| + | </ | ||
| + | |||
| + | выходим из терминала через **ctrl+o**, подчищаем за собой и переходим к следующему шагу | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== OpenWrt ARM64 ==== | ||
| + | |||
| + | В релиз ноутах к [[https:// | ||
| + | |||
| + | < | ||
| + | |||
| + | В каталоге с [[https:// | ||
| + | |||
| + | В консоли Proxmox скачиваем **squashfs-combined** версию и распаковываем архив: | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | |||
| + | wget -c https:// | ||
| + | |||
| + | gunzip openwrt-23.05.5-armsr-armv8-generic-squashfs-combined.img.gz | ||
| + | </ | ||
| + | |||
| + | Создаем машину следующей командой: | ||
| + | |||
| + | <code bash> | ||
| + | qm create $(pvesh get / | ||
| + | --name " | ||
| + | --description " | ||
| --tags " | --tags " | ||
| + | --arch aarch64 \ | ||
| --bios ovmf \ | --bios ovmf \ | ||
| --efidisk0 file=local-zfs: | --efidisk0 file=local-zfs: | ||
| Строка 26: | Строка 123: | ||
| --serial0 socket \ | --serial0 socket \ | ||
| --boot order=scsi0 \ | --boot order=scsi0 \ | ||
| - | --scsihw virtio-scsi-pci \ | + | --scsihw |
| - | --scsi0 file=local-zfs: | + | --scsi0 file=local-zfs: |
| --net0 model=virtio, | --net0 model=virtio, | ||
| - | --net0 model=virtio, | + | --net1 model=virtio, |
| </ | </ | ||
| - | и запускать | + | загружаем |
| <code bash>qm start <VM ID> ; qm terminal <VM ID></ | <code bash>qm start <VM ID> ; qm terminal <VM ID></ | ||
| - | Если все закончилось хорошо, то в терминале увидим | + | И если и в этот раз нас ждал успех, то в терминале увидим |
| < | < | ||
| Строка 65: | Строка 162: | ||
| SUPPORT_URL=" | SUPPORT_URL=" | ||
| BUILD_ID=" | BUILD_ID=" | ||
| - | OPENWRT_BOARD=" | + | OPENWRT_BOARD=" |
| - | OPENWRT_ARCH=" | + | OPENWRT_ARCH=" |
| OPENWRT_TAINTS="" | OPENWRT_TAINTS="" | ||
| OPENWRT_DEVICE_MANUFACTURER=" | OPENWRT_DEVICE_MANUFACTURER=" | ||
| Строка 75: | Строка 172: | ||
| </ | </ | ||
| - | выходим из терминала через ctrl+o, подчищаем за собой и переходим к следующему шагу | + | выходим из терминала через |
| + | |||
| + | <code bash>qm stop <VM ID> ; qm destroy <VM ID></ | ||
| - | <code bash>qm stop <VM ID> ; qm destroy <VM ID</ | + | ==== Превращаем виртуалку в маршрутизатор ==== |
| - | Шаг 3: превращаем виртуалку в маршрутизатор | ||
| - | В данный момент на виртуальном OpenWRT есть всего лишь один сетевой интерфейс, | + | В данный момент на виртуальном OpenWRT есть всего лишь один сетевой интерфейс, |
| Через шелл: | Через шелл: | ||
| Строка 102: | Строка 200: | ||
| </ | </ | ||
| - | или же путь через Proxmox GUI: **Datacenter-> | + | или же путь через Proxmox GUI: **Datacenter-> |
| - | Если в OpenWRT доступны два сетевых интерфейса, | + | Если в OpenWRT доступны два сетевых интерфейса, |
| Учитывая вышеизложенное, | Учитывая вышеизложенное, | ||
| Строка 130: | Строка 228: | ||
| Запускаем: | Запускаем: | ||
| - | < | + | < |
| - | qm start < | + | |
| - | </ | + | |
| проверяем: | проверяем: | ||
| Строка 160: | Строка 256: | ||
| inet6 fe80:: | inet6 fe80:: | ||
| | | ||
| - | </code> | + | < |
| - | + | < | |
| - | < | + | |
| root@OpenWrt:/ | root@OpenWrt:/ | ||
| Строка 193: | Строка 288: | ||
| option device ' | option device ' | ||
| option proto ' | option proto ' | ||
| - | </ | + | </ |
| - | Как можно видеть, | + | Как можно видеть, |
| - | OpenWRT по умолчанию открывает порты для управления только на стороне lan, и правильно делает! Но мы же это все затеяли для рисковых опытов, | + | OpenWRT по умолчанию открывает порты для управления только на стороне |
| - | < | + | < |
| uci add firewall rule | uci add firewall rule | ||
| uci set firewall.@rule[-1].name=' | uci set firewall.@rule[-1].name=' | ||
| Строка 240: | Строка 335: | ||
| root@OpenWrt: | root@OpenWrt: | ||
| </ | </ | ||
| - | + | Работает! Можно уверенно воплощать самые смелые фантазии на вашем роутере. | |
| - | Работает! Можно уверенно воплощать самые смелые фантазии на вашем роутере. | + | |
| - | + | ||
| - | [[https:// | + | |