Установка OpenWrt на x86
В статье рассмотрена установка и первоначальная настройка OpenWrt в виртуальной машине (Hyper-V и в облаке).
Установка
Hyper-V
Скачиваем Combined (Ext4) образ, распаковываем, преобразуем в VHDX:
# gunzip openwrt-22.03.5-x86-64-generic-ext4-combined.img.gz
# qemu-img convert openwrt-22.03.5-x86-64-generic-ext4-combined.img \
-O vhdx -o subformat=dynamic OpenWrt.vhdx
В Hyper-V Manager создаём виртуальную машину, присоединяем к ней диск, запускаем и переходим к настройке.
KVM VPS
Устанавливаем любой Linux, скачиваем Combined (Ext4) или Combined-EFI (Ext4) образ, распаковываем:
# wget https://downloads.openwrt.org/releases/22.03.5/targets/x86/64/openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img.gz
# gunzip openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img.gz
Смотрим имя диска:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4M 0 rom
vda 254:0 0 6G 0 disk
└─vda1 254:1 0 6G 0 part /
Включаем сочетания SysRq, переподключаем все файловые системы в режиме чтения:
# echo "1" > /proc/sys/kernel/sysrq
# echo u > /proc/sysrq-trigger
Записываем образ на диск:
# dd if=openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img bs=1M of=/dev/vda
Перезагружаем виртуальную машину:
# echo "b" > /proc/sysrq-trigger
Первоначальная настройка
Устанавливаем пароль администратора:
# passwd
Включаем требование пароля на физической консоли — в файле /etc/config/system выставляем параметр ttylogin в true:
config system
option ttylogin '1'
В файле /etc/config/network настраиваем сеть, удаляем мост для локальной сети, если не нужен:
config interface 'wan'
option device 'eth0'
option proto 'static'
option ipaddr '203.0.113.111'
option netmask '255.255.255.0'
option gateway '203.0.113.1'
list dns '1.1.1.1'
Перезапускаем сеть:
# service network restart
Обновляем индекс пакетов и устанавливаем необходимые программы:
# opkg update
# opkg install nano htop
SSH
При необходимости меняем порт SSH в файле /etc/config/dropbear:
config dropbear
option Port '123'
В файле /etc/config/firewall разрешаем доступ по SSH извне:
config rule
option name 'Allow-SSH'
list proto 'tcp'
option src 'wan'
option dest_port '123'
option target 'ACCEPT'
Применяем настройки:
# service dropbear restart
# service firewall restart
LuCI — веб-интерфейс
Устанавливаем командой:
# opkg install luci
При необходимости меняем прослушиваемый порт в файле /etc/config/uhttpd:
config uhttpd 'main'
list listen_http '0.0.0.0:8080'
list listen_http '[::]:8080'
Применяем настройки:
# service uhttpd restart
Доступ к интерфейсу можно получить с помощью проброса порта через SSH:
# ssh -L 80:localhost:8080 root@203.0.113.111 -p 123