Понедельник, 07.09.2020 02:30

Превращаем Asus EEE PC 1005p в WIFI роутер

Превращаем 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.

Категория Сеть
Теги OpenWRT QEMU

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 783