Превращаем Asus EEE PC 1005p в WIFI роутер
Развитие информационных технологий привело к тому, что некоторые устройства устаревают буквально за 2-3 года, что же говорить о выпущенных 10 лет назад. При этом большинство ноутбуков и нетбуков, работоспособны, а если поменять жесткий диск на SSD, то устройством вполне можно пользоваться для выхода в интернет или просмотра ТВ.
У меня есть нетбук Eee PC 1005p, которым я до сих пор пользуюсь, в основном для опытов, настройки оборудования и ЛВС. Даже без SSD он неплохо работает под Linux.
Недавно мне потребовался wifi-роутер для опытов, но, как назло, имеющийся приказал долго жить. Я давно уже слышал об операционной системе для роутеров OpenWRT и тут появилась хорошая возможность с ней поработать.
Вместе с тем, мне не хотелось сносить уже настроенную операционную систему с жесткого диска нетбука, но оказалось, что OpenWRT вполне можно запускать с usb-флешки.
В этой статье я опишу метод установки OpenWRT на usb-флешку. Так что при необходимости можно будет быстро превратить устройство в wifi-роутер.
Для создания образа нам потребуются несколько программ:
- Образ OpenWRT, я использовал combined-ext4.img.gz версии 19.07.0, так как только под него есть необходимые драйвера для сетевого адаптера и wifi. Скачать его можно по ссылке.
- Для работы с образами нам нужны утилиты Qemu для windows - скачать можно по ссылке.
- 7-zip для распаковки архивов - сайт.
- RUSUF для записи образа на USB-флешку - сайт.
Я пытался использовать VMware Player 14 и 15 версии, но у меня образ так и не загрузился, до конца, так что я буду описывать установку на Hyper-V.
Создадим папку c:\openwrt и скопируем в нее скачанные файлы
openwrt-19.07.3-x86-generic-combined-ext4.img.gz
qemu-w32-setup-20200814.exe
Извлекаем из дистрибутива qemu нужные файлы:
"C:\Program Files\7-Zip\7z.exe" x qemu-w32-setup-20200814.exe qemu-img.exe *.dll
Распакуем образ openwrt
"C:\Program Files\7-Zip\7z.exe" x openwrt-19.07.0-x86-generic-combined-ext4.img.gz
Конвертируем образ в формат Hyper-V
qemu-img convert -f raw -O vhdx openwrt-19.07.0-x86-generic-combined-ext4.img openwrt-x86-generic-combined-ext4.vhdx
Создаем виртуальную машину в Hyper-V, обязательно первого поколения и добавляем в неё сконвертированный образ OpenWRT в качестве основного диска.
Загружаем виртуальную машину. В процессе загрузки рекомендую открыть окно виртуальной машины и подвигать мышкой и понажимать клавиши, чтобы генератор случайных чисел быстрее набрал энтропию иначе загрузка может затянуться.
Как только вы увидите надпись
Please press Enter to activate this console.
Можете считать, что загрузка OpenWRT успешно завершена.
Нажимаем Enter и попадаем в консоль:
Теперь нам нужно настроить ip-адрес на устройстве, для того, чтобы установить требуемые пакеты.
Прописываем ip-адрес
ip a add 192.168.0.10/24 dev br-lan
Прописываем шлюз по умолчанию
ip route add default via 192.168.0.254
Проверяем доступность шлюза
ping 192.168.0.254
Шлюз доступен!
Теперь мы можем перейти к настройке из более удобного putty.
Открываем адрес 192.168.0.10 в putty через ssh:
Логин: root Пароля нет:
login as: root
BusyBox v1.30.1 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt 19.07.3, r11063-85e04e9f46
-----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~#
Мы зашли на маршрутизатор по ssh.
Проверяем доступность интернета
root@OpenWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=108 time=148.716 ms
64 bytes from 8.8.8.8: seq=1 ttl=108 time=148.906 ms
64 bytes from 8.8.8.8: seq=2 ttl=108 time=148.902 ms
64 bytes from 8.8.8.8: seq=3 ttl=108 time=148.798 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 148.716/148.830/148.906 ms
Вроде всё работает, но если мы попробуем так:
root@OpenWrt:~# ping ya.ru
ping: bad address 'ya.ru'
Связи нет, нужно прописать еще и DNS. А так как обновляться мы будем по http он нам обязательно понадобиться:
В консоли вводим
vi /etc/config/dhcp
Нажмите i
Теперь в разделе
config dnsmasq
нам нужно добавить параметр
list server '8.8.8.8'
Можете просто вставить из буфера в конец блока
Нажмем ESC затем введем
:w и Enter
затем
:q и Enter
Мы сохранили настройки
Теперь перезапустим службу
/etc/init.d/dnsmasq restart
Проверяем снова
root@OpenWrt:~# ping ya.ru
PING ya.ru (87.250.250.242): 56 data bytes
64 bytes from 87.250.250.242: seq=0 ttl=52 time=134.430 ms
64 bytes from 87.250.250.242: seq=1 ttl=52 time=134.222 ms
64 bytes from 87.250.250.242: seq=2 ttl=52 time=134.293 ms
64 bytes from 87.250.250.242: seq=3 ttl=52 time=134.217 ms
^C
--- ya.ru ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 134.217/134.290/134.430 ms
Пинг есть
Учтите, так как я делаю образ, не привязанный к ЛВС, все настройки сети, кроме DNS пропадут после выключения виртуальной машины, впрочем, в данным момент, сеть нам нужна только для обновления и установки пакетов.
Приступим к обновлению устройства:
root@OpenWrt:~# opkg update
Downloading http://downloads.openwrt.org/releases/19.07.3/targets/x86/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading http://downloads.openwrt.org/releases/19.07.3/targets/x86/generic/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/base/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/luci/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/packages/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/routing/Packages.sig
Signature check passed.
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading http://downloads.openwrt.org/releases/19.07.3/packages/i386_pentium4/telephony/Packages.sig
Signature check passed.
Удалим ненужные пакеты:
opkg remove kmod-3c59x kmod-8139too kmod-e100 kmod-e1000 kmod-ne2k kmod-sis900 kmod-r8169 r8169-firmware kmod-via-rhine kmod-via-velocity
Установим нужные пакеты
Драйвера для сетевых карт
opkg install kmod-atl1 kmod-atl1c kmod-ath5k kmod-ath9k
Пакеты для USB И карт памяти
opkg install kmod-usb-core kmod-usb-hid kmod-usb2 kmod-usb-wdm kmod-mmc kmod-usb-storage kmod-usb-storage-extras
Дополнительные пакеты
opkg install usbreset usbutils kmod-fs-ext4 kmod-fs-ntfs kmod-fs-vfat e2fsprogs fdisk ntfs-3g hostapd hostapd-utils iwinfo diffutils ip-full tcpdump mc
Обратите внимание, что вы можете добавить дополнительные пакеты, например, я поставил пакет mc (Midnight Commander), править конфиги всегда удобнее из нормального редактора.
Теперь вводим
sync ; reboot
После перезагрузки откройте окно с виртуальной машиной и введите в консоли
poweroff
Машина выключится.
Скопируйте изменённый образ обратно в папку c:\openwrt – можно это сделать с заменой старого файла.
Конвертируем его обратно
qemu-img convert -f vhdx openwrt-x86-generic-combined-ext4.vhdx -O raw openwrt-x86-eeepc-combined-ext4-ready.img
Запускаем Rufus, выбираем нашу usb-флешку.
Выбираем конвертированный образ
И жмем старт и Ок:
После того как Rufus закончит, извлекаем флешку, если её нет в списке устройств, продеться зайти в Панель управления/Администрирование/Управление компьютером/Управление дисками и отключить её тут!
Я рекомендую всегда отключать usb-флешки посредством операционной системы, во избежание потери данных.
Вставим usb-флэш диск в Eee PC.
При загрузке нажимаем F2
Выбираем в разделе Boot / Hard Disk Drives наш usb-флэш диск первым.
F10 и Enter
Ждите загрузки системы
Снова вручную настроим сеть, как было описано выше, кроме DNS, эти настройки у нас сохранились.
После настройки сети самый быстрый способ настроить OpenWRT - через веб-админку.
Открываем в браузере ip-адрес, который мы задали нашему нетбуку:
Логин root
Пароль пустой
У нас откроется страница с обзором устройства:
Как видите, WIFI адаптер определился, но выключен.
Обратите внимание: вы должны убедиться, что WIFI не отключен физически на Eee PC и что огонек со значком wifi горит.
Если нет – нажмите Fn + F2
Перейдем в меню Network\Wireless
Нажмем Enable
Затем нажмем Enable и в окне пропишем ESSID: EEEPC
Жмем Save
Жмем Save&Apply
И проверяем с сотового телефона или планшета, а может и с ПК через Wifi usb-адаптер наличие сети EEEPC.
А в окне браузера появиться ваше устройство:
Интернета нет по простой причине – мы не прописали настройки сети в конфигурации самого устройства, давайте это сделаем:
Заходим в Network/Interfaces и прописываем настройки сети в br-lan
После этого проверяем на устройстве наличие Интернета.
Для чистоты эксперимента, отключите сотовый интернет на телефоне или планшете и откройте myip.ru
Вы должны увидеть внешний ip-адрес вашей ЛВС.
Вот и всё. Теперь, конечно, нужно установить пароль администратора, спрятать админку в VLAN и настроить межсетевой экран. Материалов по настройке OpenWRT, на просторах сети Интернет, очень много, так что подробно останавливаться не вижу смысла.
В следующей статье мы будем использовать OpenWRT как точку доступа, подключенную к ESR-200 и рассмотрим конфигурацию предоставления доступа к интернету ЛВС и через WIFI через VLAN.
Заключение
Сегодня мы рассмотрели установку OpenWRT на usb-флешку.
Сконвертировали образ OpenWRT в формат Hyper-V и создали виртуальную машину.
Настроили сеть на виртуальной машине и обновили её.
Установили необходимые пакеты в OpenWRT.
Сконвертировали образ обратно в формат img
Записали его на usb-флешку с помощью Rufus.
Настроили нетбук для загрузки с usb-флешки.
Настроили сеть и wifi в OpenWRT.
Проверили наличие доступа в интернет через wifi.
При подготовке статьи использовались материалы форума OpenWRT.
Добавить комментарий