OpenWrt. Установка и первоначальная настройка альтернативной прошивки для wi-fi роутеров на примере Linksys EA4500. Поднимаем WAN и web-интерфейс из командной строки.
Сегодня обойдемся без предисловий и перейдем сразу к делу. Итак, наверняка многие слышали что помимо прошивки от производителя устройства, существуют и альтернативные. Наиболее раскрученная и на слуху — это, наверное, DD-WRT. Про неё я уже рассказывал когда делал wi-fi повторитель на базе D-Link DIR-300.
Еще одна альтернативная прошивка — OpenWrt. Она менее дружественна для обычного пользователя, однако, обладает сравнимыми или даже большими возможностями по настройке, плюс работает на большем количестве роутеров. Мой пример с Linksys EA4500 тому подтверждение.
Спросите, а для чего вообще нужна альтернативная прошивка если и так всё работает? Раз возникает подобный вопрос, то возможно именно вам и не к чему такие эксперименты. Если всё работает и всё устраивает, то лучше пусть так и будет.
С аппаратной точки зрения у Linksys EA4500 огромный потенциал, который никак не используется штатной прошивкой, а мне крайне необходимо было выжать из этого «железа» больше. Самое главное нужен был полноценный firewall, с возможностью создавать свои правила (в штатной прошивке вместо него было какое-то недоразумение) и наличие vpn-сервера (в идеале openvpn). OpenWrt для этих целей подходила как нельзя лучше — по сути, это полноценный Linux-сервер с кучей всевозможных «плюшек», позволяющих делать невероятные, для обычных роутеров, вещи, вплоть до запуска прокси-сервера Squid или ip-телефонии Аsterisk. Вдумайтесь, это на обычном роутере(!)
Прошивка OpenWrt на Linksys EA4500 / E4200 v2
Страничка с прошивкой для Linksys EA4500 / E4200 v2, где находим ссылку на саму прошивку, в моём случае это openwrt-kirkwood-linksys-viper-squashfs-factory.bin
Собственно, в самом процессе перепрошивки, ничего сложного нет, всё делается штатными средствами через web-интерфейс вашего роутера, указываем путь к скачанному файлу прошивки и в путь. Единственное что хотелось отметить, прошиваться желательно не по wi-fi, а подключившись проводом к роутеру в обычный LAN-порт.
По идее, предполагается что дальнейшие настройки будут производиться через web-интерфейс уже новой прошивки (адрес по умолчанию 192.168.1.1, логин root c пустым паролем). Но не в моем случае. на указанной выше страничке Linksys EA4500, английским по белому написано что никакого web-интерфейса у меня не будет и нужно сперва установить этот самый web-интерфейс LuCI.
Поднимаем WAN и web-интерфейс из командной строки OpenWrt
Итак, web-интерфейса у нас нет. Чтобы его установить (ссылка на инструкцию приведена чуть выше) нам понадобиться сконфигурировать WAN-интерфейс для соединения с интернет. Для этого подключаемся к нашему роутеру по ssh (этот интерфейс включен по умолчанию): ssh root@192.168.1.1
Как помните, у нас сейчас нет пароля, сразу и зададим свой пароль командой passwd:
Теперь перейдем непосредственно к настройке wan-интерфейса. В моем случае провайдер выдал статический адрес, потому пример будет со статикой (больше примеров можно посмотреть в официальной документации Network configuration). Тут всё как в обычном Linux, с помощью консольного текстового редактора vi вносим изменения в файл конфигурации /etc/config/network
После того как внесли изменения и сохранили файл, осталось перезапустить сеть для применения изменений:
Интернет появился. Теперь уже можно спокойно установить web-интрефейс luci и производить дальнейшие настройки уже в графическом режиме из браузера:
Запускаем web-сервер (uHTTPd)
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
Настройка tftp на openwrt
Статья про то как прошить и настроить роутер TP-Link MR3020[/URL] или TL-WR703N для использования его в своих проектах.
Популярный проект WiFi робот
Так же wr703n и MR3020 можно прошить прошивкой CyberWrt, данная прошивка понравится тем кто не хочет использовать дополнительный софт(PUTTY, WinCSP и др.)
В этой прошивке встроен веб интерфейс , к роутеру можно подключатся через любой веб браузер,
Доступны все возможные модули благодаря которым Вы в считанные секунды, можете превратить свой роутер в
Видеорегистратор, Веб радио, Часы, Робота, WiFi контроллер и пр. и при этом не почувствуете что работаете с линуксом
Уважаемые пользователи. на прошивке Attitude Adjustment 12.09 есть баг или фича (скорее конечно фича) — при монтировании разделов созданных в OS Windows — необходимо чтобы они были Primary. В противном случае, если раздел будет Logical (даже есть он ext2-3-4) при попытке монтирования ваша железка зависнет и перезагрузится. |
Характеристики роутера TP-Link MR3020:
процессор Atheros AR7240 частотой 400 МГц
SoC: Atheros AR9330 Rev 1
32 Мб ram
4 Мб флэш-памяти
USB-2.0 Host
Wi-Fi 802.11 b/g/n 150Mbps
Ethernet-порт 100MBit
UART (на плате)
Питание осуществляется через мини-USB (+5В)
Максимальный ток с включенным Wi-Fi 150мА или 100мА без него.
Размер печатной платы: 5,7см х 5,7см
Размер роутера: 6,7см х 7.4cm х 2.2cm
1. Прошивка
Вместо заводской прошивки, зальем на него OpenWRT.
Сначала скачиваем новую прошивку от 21.09.12 (r33482) с этого форума. Подключаем роутер к компьютеру LAN кабелем (адрес по-умолчанию: 192.168.0.254), логин/пароль: admin/admin. Заходим через браузер в системные настройки, выбираем заранее скаченый файл прошивки, нажимаем кнопку обновить и ждем пока зальется. Во время прошивки не трогайте роутер и не отключайте его питание, иначе получите танцы с бубном или убитый роутер. После прошивки роутер уйдет автоматически в ребут. Теперь роутер получил адрес 192.168.1.1. Подключаемся к нему телнетом, я использовал Putty и получаем окно терминала
2. Начальная настройка сети
Открываем фаил network текстовом редакторе vi и пропишем в нем свои сетевые настройки:
root@OpenWrt:
Настройки Секции config interface ‘lan’ должны выглядеть так:
Здесь подразумевается, что головной роутер имеет адрес: 192.168.1.1
Если у вас другая подсеть необходимо сменить сетевые адреса на вашу подсеть.
Для дальнейшей настройки роутера mr3020 необходимо его подключить по Ethernet к головному роутеру или ADSL модему получающему интернет.
Схема подключения
Еще нужно добавить строку в /etc/sysupgrade.conf для предотвращения перезаписи конфигов после ребута.
root@OpenWrt:
#echo «/etc/config/» >> /etc/sysupgrade.conf
Выполняем Reboot.
Ждем перезагрузки и проверяем подключение к Интернету:
root@OpenWrt:
Если пингуется:
PING cyber-place.ru (5.9.57.134): 56 data bytes
64 bytes from 5.9.57.134: seq=0 ttl=252 time=52.902 ms
64 bytes from 5.9.57.134: seq=1 ttl=252 time=52.017 ms
64 bytes from 5.9.57.134: seq=2 ttl=252 time=52.137 ms
64 bytes from 5.9.57.134: seq=3 ttl=252 time=52.376 ms
64 bytes from 5.9.57.134: seq=4 ttl=252 time=52.128 ms
64 bytes from 5.9.57.134: seq=5 ttl=252 time=52.166 ms
Прерываем выполнение нажатием клавиш Ctrl^C
Здесь нужно быть внимательным! т.к. использовалась прошивка от 21.09.2012 r33482 (с этого форума) для установки пакетов нужно поменять источник репозитория тоже на эту-же версию.
Правим файл /etc/opkg.conf
комментируем 1-ю строчку и добавляем свою
3. Подклчение внешней флэшки.
Казалось бы на этом все, но в своем распоряжении вы имеете очень маленький объем Flash памяти, всего 1.4 Мб, из которых свободно всего около 300 Кб! Этого не хватит даже LuCI установить. Выход есть, нужно подключить внешнюю USB флешку.
Для этого придется выполнить все что я написал ниже.
Начинаем установку пакетов программ!
Обновляем список пакетов и устанавливаем нужные нам пакеты:
root@OpenWrt:
# opkg update
root@OpenWrt:
# opkg install kmod-usb2
root@OpenWrt:
# insmod ehci-hcd
root@OpenWrt:
# opkg install kmod-usb-core kmod-usb-storage kmod-fs-ext4 kmod-scsi-core block-mount e2fsprogs fdisk
Посмотреть список установленных пакетов:
root@OpenWrt:
# opkg list-installed
.
.
kmod-scsi-core — 3.3.8-1
kmod-usb-core — 3.3.8-1
kmod-usb-ohci — 3.3.8-1
kmod-usb-storage — 3.3.8-1
kmod-usb-uhci — 3.3.8-1
kmod-usb2 — 3.3.8-1
kmod-wdt-ath79 — 3.3.8-1
.
.
Смотрим как флешка определась системой:
root@OpenWrt:
# fdisk -l
у меня USB Flash-диск определился как sda
Disk /dev/sda: 1018 MB, 1018691584 bytes
9 heads, 56 sectors/track, 3947 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f
Device Boot Start End Blocks Id System
/dev/sda1 2048 1989631 993792 83 Linux
Сначала создаем на USB Flash раздел:
root@OpenWrt:
Выполняем следующие команды:
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Partition number (1-4): 2
Command (m for help): d
Partition number (1-4): 3
Command (m for help): d
No partition is defined yet!
Создаем раздел:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (27-122, default 27):
Using default value 27
Last cylinder or +size or +sizeM or +sizeK (27-122, default 122):
Using default value 122
Смотрим, что получилось:
Command (m for help): p
Disk /dev/sda: 1018 MB, 1018691584 bytes
7 heads, 8 sectors/track, 35529 cylinders, total 1989632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004862f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1989631 993792 83 Linux
Command (m for help): a
Partition number (1-4): 1
Выходим:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Раздел создан, форматируем его:
root@OpenWrt:
# mkfs.ext4 /dev/sda1
mke2fs 1.42.4 (12-June-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62208 inodes, 248448 blocks
12422 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=255852544
8 block groups
32768 blocks per group, 32768 fragments per group
7776 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
Монтируем новый диск и копируем на него все необходимое:
root@OpenWrt:
# mkdir -p /mnt/usb
root@OpenWrt:
# mount -t ext4 /dev/sda1 /mnt/usb -o rw,sync
root@OpenWrt:
# tar -C /overlay -cvf — . | tar -C /mnt/usb -xvf —
Правим фаил /etc/config/fstab:
root@OpenWrt:
Нам нужно отредактировать секцию config ‘mount’:
config ‘mount’
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0
Сохраняем, перезагружаемся, проверяем:
root@OpenWrt:
# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 968.0M 51.9M 867.6M 6% /
/dev/root 1.5M 1.5M 0 100% /rom
tmpfs 14.2M 72.0K 14.2M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 968.0M 51.9M 867.6M 6% /overlay
overlayfs:/overlay 968.0M 51.9M 867.6M 6% /
Отлично. У нас теперь много свободного пространства, для установки модулей и утилит.
4. Последние шрихи.
Устанавливаем поддержку кодировок
opkg update
opkg install kmod-nls-cp1251 kmod-nls-koi8r kmod-nls-utf8 kmod-nls-cp866 kmod-nls-cp437
Детальное описание всего что устанавливалось на роутер TP-LINK
Примечание
Так как при работе с роутером необходимо постоянно что-то редактировать и изменять, очень удобно (вместо встроенного vi) работать используя WinSCP — это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом. Он также поддерживает протокол SCP (Secure Copy Protocol). Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы. Программа имеет встроенный редактор (но можно подключить и внешний). Есть также руссификатор программы.
Для работы по защищенному протоколу SSH, SCP необходимо задать пароль для пользователя root. Для этого необходимо в консоле дать команду: passwd и ввести ваш новый пароль (ввод не видим), затем повторить еще раз.
Это также позволит работать с Putty используя SSH протокол (22 порт).
Более детально можно прочитать здесь
Вложения
putty.rar (1.51 Мб, 1933 просмотров) | |
winscp513_setup.rar (4.80 Мб, 4475 просмотров) |