Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| sysadmin:proxmox:openwrt [14:12:2024 14:04] – 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:// | + | В каталоге с [[https:// |
| + | В консоли Proxmox (я использовал Shell в GUI, но нет причин, | ||
| < | < | ||
| cd / | cd / | ||
| - | wget -c https:// | + | |
| + | wget -c https:// | ||
| gunzip openwrt-23.05.5-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 / | qm create $(pvesh get / | ||
| - | --name "openwrt-amd64" | + | --name "OpenWRT-amd64" |
| - | --description "openwrt-amd64" | + | --description "OpenWRT-amd64" |
| --arch x86_64 \ | --arch x86_64 \ | ||
| - | --tags "openwrt" \ | + | --tags "OpenWRT" \ |
| --bios ovmf \ | --bios ovmf \ | ||
| - | --efidisk0 file=local-zfs: | + | --efidisk0 file=local-lvm: |
| --sockets 1 \ | --sockets 1 \ | ||
| --cores 2 \ | --cores 2 \ | ||
| Строка 28: | Строка 33: | ||
| --boot order=scsi0 \ | --boot order=scsi0 \ | ||
| --scsihw virtio-scsi-pci \ | --scsihw virtio-scsi-pci \ | ||
| - | --scsi0 file=local-zfs: | + | --scsi0 file=local-lvm: |
| - | --net0 model=virtio, | + | --net0 model=virtio, |
| + | --net1 model=virtio, | ||
| + | </ | ||
| и запускать | и запускать | ||
| - | qm start <VM ID> ; qm terminal <VM ID> | + | < |
| Если все закончилось хорошо, | Если все закончилось хорошо, | ||
| - | BusyBox v1.36.1 (2024-03-22 22:09:42 UTC) built-in shell (ash) | + | < |
| + | BusyBox v1.36.1 (2024-09-23 12:34:46 UTC) built-in shell (ash) | ||
| _______ | _______ | ||
| Строка 45: | Строка 53: | ||
| |__| W I R E L E S S F R E E D O M | |__| W I R E L E S S F R E E D O M | ||
| | | ||
| - | | + | |
| | | ||
| === WARNING! ===================================== | === WARNING! ===================================== | ||
| Строка 52: | Строка 60: | ||
| in order to prevent unauthorized SSH logins. | in order to prevent unauthorized SSH logins. | ||
| -------------------------------------------------- | -------------------------------------------------- | ||
| - | root@OpenWrt:/ | + | </ |
| + | <code bash> | ||
| + | root@OpenWrt:/ | ||
| + | </ | ||
| + | < | ||
| NAME=" | NAME=" | ||
| - | VERSION=" | + | VERSION=" |
| ID=" | ID=" | ||
| ID_LIKE=" | ID_LIKE=" | ||
| - | PRETTY_NAME=" | + | PRETTY_NAME=" |
| - | VERSION_ID=" | + | VERSION_ID=" |
| HOME_URL=" | HOME_URL=" | ||
| BUG_URL=" | BUG_URL=" | ||
| SUPPORT_URL=" | SUPPORT_URL=" | ||
| - | BUILD_ID=" | + | BUILD_ID=" |
| OPENWRT_BOARD=" | OPENWRT_BOARD=" | ||
| OPENWRT_ARCH=" | OPENWRT_ARCH=" | ||
| Строка 70: | Строка 82: | ||
| OPENWRT_DEVICE_PRODUCT=" | OPENWRT_DEVICE_PRODUCT=" | ||
| OPENWRT_DEVICE_REVISION=" | OPENWRT_DEVICE_REVISION=" | ||
| - | OPENWRT_RELEASE=" | + | OPENWRT_RELEASE=" |
| + | </ | ||
| - | выходим из терминала через ctrl+o, подчищаем за собой и переходим к следующему шагу | + | выходим из терминала через |
| - | qm stop <VM ID> ; qm destroy <VM ID> | + | < |
| - | Шаг 2: OpenWrt ARM64 | + | ==== OpenWrt ARM64 ==== |
| - | В релиз ноутах к PVE 8.1 упоминается, | + | В релиз ноутах к [[https:// |
| - | apt install pve-edk2-firmware-aarch64 | + | < |
| - | В каталоге с релизами, | + | В каталоге с [[https:// |
| - | В консоли Proxmox скачиваем squashfs-combined версию и распаковываем архив: | + | В консоли Proxmox скачиваем |
| + | < | ||
| cd / | cd / | ||
| - | wget -c https:// | + | wget -c https:// |
| - | gunzip openwrt-23.05.3-armsr-armv8-generic-squashfs-combined.img.gz | + | gunzip openwrt-23.05.5-armsr-armv8-generic-squashfs-combined.img.gz |
| + | </ | ||
| Создаем машину следующей командой: | Создаем машину следующей командой: | ||
| + | <code bash> | ||
| qm create $(pvesh get / | qm create $(pvesh get / | ||
| --name " | --name " | ||
| Строка 109: | Строка 125: | ||
| --scsihw | --scsihw | ||
| --scsi0 file=local-zfs: | --scsi0 file=local-zfs: | ||
| - | --net0 model=virtio, | + | --net0 model=virtio, |
| + | --net1 model=virtio, | ||
| + | </ | ||
| загружаем | загружаем | ||
| - | qm start <VM ID> ; qm terminal <VM ID> | + | <code bash>qm start <VM ID> ; qm terminal <VM ID></ |
| И если и в этот раз нас ждал успех, то в терминале увидим что-то вроде: | И если и в этот раз нас ждал успех, то в терминале увидим что-то вроде: | ||
| + | < | ||
| BusyBox v1.36.1 (2024-03-22 22:09:42 UTC) built-in shell (ash) | BusyBox v1.36.1 (2024-03-22 22:09:42 UTC) built-in shell (ash) | ||
| Строка 151: | Строка 170: | ||
| OPENWRT_DEVICE_REVISION=" | OPENWRT_DEVICE_REVISION=" | ||
| OPENWRT_RELEASE=" | OPENWRT_RELEASE=" | ||
| + | </ | ||
| + | |||
| + | выходим из терминала через **ctrl+o**, подчищаем за собой и переходим к добавлению сетевых интерфейсов. | ||
| - | выходим из терминала через ctrl+o, подчищаем за собой и переходим к добавлению сетевых интерфейсов. | + | <code bash>qm stop <VM ID> ; qm destroy <VM ID></ |
| - | qm stop <VM ID> ; qm destroy <VM ID> | + | ==== Превращаем виртуалку в маршрутизатор ==== |
| - | Шаг 3: превращаем виртуалку в маршрутизатор | ||
| - | В данный момент на виртуальном OpenWRT есть всего лишь один сетевой интерфейс, | + | В данный момент на виртуальном OpenWRT есть всего лишь один сетевой интерфейс, |
| Через шелл: | Через шелл: | ||
| + | <code bash> | ||
| cp / | cp / | ||
| Строка 176: | Строка 198: | ||
| systemctl restart networking | systemctl restart networking | ||
| + | </ | ||
| - | или же путь через Proxmox GUI: Datacenter-> | + | или же путь через Proxmox GUI: **Datacenter-> |
| - | Если в OpenWRT доступны два сетевых интерфейса, | + | Если в OpenWRT доступны два сетевых интерфейса, |
| Учитывая вышеизложенное, | Учитывая вышеизложенное, | ||
| + | <code bash> | ||
| qm create $(pvesh get / | qm create $(pvesh get / | ||
| --name " | --name " | ||
| Строка 200: | Строка 224: | ||
| --net1 model=virtio, | --net1 model=virtio, | ||
| --net0 model=virtio, | --net0 model=virtio, | ||
| + | </ | ||
| Запускаем: | Запускаем: | ||
| - | qm start < | + | <code bash>qm start < |
| проверяем: | проверяем: | ||
| + | < | ||
| root@OpenWrt:/ | root@OpenWrt:/ | ||
| 1: lo: < | 1: lo: < | ||
| Строка 230: | Строка 256: | ||
| inet6 fe80:: | inet6 fe80:: | ||
| | | ||
| + | < | ||
| + | < | ||
| root@OpenWrt:/ | root@OpenWrt:/ | ||
| Строка 261: | Строка 288: | ||
| option device ' | option device ' | ||
| option proto ' | option proto ' | ||
| + | </ | ||
| - | Как можно видеть, | + | Как можно видеть, |
| - | OpenWRT по умолчанию открывает порты для управления только на стороне lan, и правильно делает! Но мы же это все затеяли для рисковых опытов, | + | OpenWRT по умолчанию открывает порты для управления только на стороне |
| + | <code bash> | ||
| uci add firewall rule | uci add firewall rule | ||
| uci set firewall.@rule[-1].name=' | uci set firewall.@rule[-1].name=' | ||
| Строка 276: | Строка 305: | ||
| uci commit firewall | uci commit firewall | ||
| service firewall restart | service firewall restart | ||
| + | </ | ||
| Проверяем подключение по ssh с хоста в физической сети: | Проверяем подключение по ssh с хоста в физической сети: | ||
| + | < | ||
| $ ssh root@10.1.2.105 | $ ssh root@10.1.2.105 | ||
| The authenticity of host ' | The authenticity of host ' | ||
| Строка 303: | Строка 334: | ||
| -------------------------------------------------- | -------------------------------------------------- | ||
| root@OpenWrt: | root@OpenWrt: | ||
| + | </ | ||
| Работает! Можно уверенно воплощать самые смелые фантазии на вашем роутере. | Работает! Можно уверенно воплощать самые смелые фантазии на вашем роутере. | ||