Понедельник, 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.

2020-09-04_10-45-07-.png

Можете считать, что загрузка OpenWRT успешно завершена.

Нажимаем Enter и попадаем в консоль:

2020-09-04_10-47-51.png

Теперь нам нужно настроить 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-флешку.

Выбираем конвертированный образ

И жмем старт и Ок:

2020-09-04_14-12-35.png

После того как Rufus закончит, извлекаем флешку, если её нет в списке устройств, продеться зайти в Панель управления/Администрирование/Управление компьютером/Управление дисками и отключить её тут!

Я рекомендую всегда отключать usb-флешки посредством операционной системы, во избежание потери данных.

Вставим usb-флэш диск в Eee PC.

При загрузке нажимаем F2

Выбираем в разделе Boot / Hard Disk Drives наш usb-флэш диск первым.

F10 и Enter

Ждите загрузки системы

Снова вручную настроим сеть, как было описано выше, кроме DNS, эти настройки у нас сохранились.

После настройки сети самый быстрый способ настроить OpenWRT - через веб-админку.

Открываем в браузере ip-адрес, который мы задали нашему нетбуку:

 2020-09-04_17-51-01.png

Логин root

Пароль пустой

У нас откроется страница с обзором устройства:

OpenWrt-Overview-LuCI.png

Как видите, WIFI адаптер определился, но выключен.

Обратите внимание: вы должны убедиться, что WIFI не отключен физически на Eee PC и что огонек со значком wifi горит.

Если нет – нажмите Fn + F2

Перейдем в меню Network\Wireless

2020-09-04_17-57-40.png Нажмем Enable

Затем нажмем Enable и в окне пропишем ESSID: EEEPC

2020-09-04_17-59-44.png

Жмем Save

Жмем Save&Apply

И проверяем с сотового телефона или планшета, а может и с ПК через Wifi usb-адаптер наличие сети EEEPC.

А в окне браузера появиться ваше устройство:

2020-09-04_18-17-21.png

Интернета нет по простой причине – мы не прописали настройки сети в конфигурации самого устройства, давайте это сделаем:

Заходим в 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-адреса преобразовываются в ссылки автоматически.
Просмотров: 208