Содержание

Установка OpenWrt на x86

В статье рассмотрена установка и первоначальная настройка OpenWrt в виртуальной машине (Hyper-V и в облаке).

Скачиваем Combined (Ext4) образ, распаковываем, преобразуем в VHDX:

shell-session

# 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 создаём виртуальную машину, присоединяем к ней диск, запускаем и переходим к настройке.

Устанавливаем любой Linux, скачиваем Combined (Ext4) или Combined-EFI (Ext4) образ, распаковываем:

shell-session

# 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

Смотрим имя диска:

shell-session

# 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, переподключаем все файловые системы в режиме чтения:

shell-session

# echo "1" > /proc/sys/kernel/sysrq
# echo u > /proc/sysrq-trigger

Записываем образ на диск:

shell-session

# dd if=openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img bs=1M of=/dev/vda

Перезагружаем виртуальную машину:

shell-session

# echo "b" > /proc/sysrq-trigger

Устанавливаем пароль администратора:

shell-session

# passwd

Включаем требование пароля на физической консоли — в файле /etc/config/system выставляем параметр ttylogin в true:

cfg

config system
  option ttylogin '1'

В файле /etc/config/network настраиваем сеть, удаляем мост для локальной сети, если не нужен:

cfg

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'

Перезапускаем сеть:

shell-session

# service network restart

Обновляем индекс пакетов и устанавливаем необходимые программы:

shell-session

# opkg update
# opkg install nano htop

При необходимости меняем порт SSH в файле /etc/config/dropbear:

cfg

config dropbear
  option Port '123'

В файле /etc/config/firewall разрешаем доступ по SSH извне:

cfg

config rule
  option name 'Allow-SSH'
  list proto 'tcp'
  option src 'wan'
  option dest_port '123'
  option target 'ACCEPT'

Применяем настройки:

shell-session

# service dropbear restart
# service firewall restart

Устанавливаем командой:

shell-session

# opkg install luci

При необходимости меняем прослушиваемый порт в файле /etc/config/uhttpd:

cfg

config uhttpd 'main'
  list listen_http '0.0.0.0:8080'
  list listen_http '[::]:8080'

Применяем настройки:

shell-session

# service uhttpd restart

Доступ к интерфейсу можно получить с помощью проброса порта через SSH:

shell-session

# ssh -L 80:localhost:8080 root@203.0.113.111 -p 123
  1. OpenWRT router W10 Hyper-V
  2. qemu-img for Windows
  3. OpenWrt on x86 hardware (PC / VM / server)
  4. Network basics /etc/config/network
  5. IPv4 configuration
  6. Firewall configuration /etc/config/firewall
  7. LuCI
  8. password on console (serial) access
  9. Установка Mikrotik CHR на VPS