Меню

Настройка tftp на openwrt



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

Читайте также:  Visual studio настройка кодировки

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

Читайте также:  Настройка табуляции в illustrator

Выходим:
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 просмотров)

Ручной метод прошивки с помощью TFTP
setenv ipaddr
setenv serverip
tftpboot 0x80000000 firmware-image.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000
bootm 0x9f020000

Цоколевка UART
1-TX
2-RX
3-GND
4-VCC
Вывод 1 обозначен на плате.

Чтобы получить надежное последовательное соединение, вам придется подключить подтягивающий резистор 10К между TX и VCC.

Настройки для доступа к консоли через UART будут следующие
Bits per second: 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: None

После загрузки оригинальной прошивки , Вы можете нажать return для активации Linux
TL-MR3020 mips #185 Fri Oct 21 16:26:50 CST 2011 (none)
TL-MR3020 login: root
password: 5up

Увеличение объема оперативной памяти до 64мГб
В роутере используется чип памяти Zentel A3S56D40FTP DDR1 16Мбит х 16бит (16 * 16 = 256 Mbit. 256 / 8 = 32MByte) 400 МГц .
Его можно заменить его на любой 32Mbit х 16-битный чип. 333 вместо 400 МГц и роутер будет работает отлично. Правда сейчас довольно трудно найти такие чипы. Нужно искать ноутбучную планку памяти DDR-SODIMM.

Проверенные микросхемы памяти:
V58C2512164SAI5 (планка Kingston KVR400X64C3A/256)
Hynix HY5DU121622DTP-D43 (планка Mustang DDR-SODIMM на 512 МБ)
Hynix HY5DU121622CTP-D43 (планка Hynix SODIMM DDR-PC2700S-25330 на 512MB DDR 333 CL 2.5, 400 МГц чипы совместимы с «D43», маркировкой).
Infineon HYB25D512160BE (планка Infineon DDR-SODIMM на 512 МБ)

Не проверенные планки, но теоретически они должны работать:
PC400 HY5DU121622DTP-D43-C Hynix
PC400 H5DU5162ETR-E3C Hynix
PC400 K4H511638G-LCCC Samsung
PC400 K4H511638J-LCCC Samsung
PC400 A3S12D40ETP-G5 Zentel
PC400 NT5DS32M16BS-5Т Nanya
PC400 P3S12D40ETP-GUTT Mira
PC333 MT46V32M16TG-6T:F Micron
PC333 MT46V32M16P-6T:F Micron
PC333 EDD5116ADTA-6B-E Elpida
PC333 HYB25D512160CE-6 Qimonda
PC333 HYB25D512160CEL-6 Qimonda
PC333 HYB25D512160DE-6 Qimonda

Поле замены микросхемы памяти, роутер должен сам определить новый объем RAM 64мГб

Как прошить роутер в OpenWrt из командной строки?
Выбираем папку /tmp
cd /tmp

Читайте также:  Аддоны в хроме настройка

Скачиваем в папку /tmp совместимую с роутером прошивку
root@OpenWrt:/tmp# wget http://downloads.openwrt.org/snapsho. fs-factory.bin
Connecting to downloads.openwrt.org (78.24.191.177:80)
openwrt-ar71xx-gener 100% |*************************************** ******************| 3840k 0:00:00 ETA
[/I]

Проверить целостность файлов
md5sum -c md5sums

Прошиваем
mtd -r write /tmp/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin firmware

Ждём пару минут, роутер после прошивки, уйдет автоматически в reboot

Вложения

mr3020nv1_en_3_13_12_up(120615).bin (3.75 Мб, 5867 просмотров)

Устанавливаем Midnight Commander
opkg update
opkg install mc

Для правильной работы MC, перед запуском нужно выполнить:
export TERMINFO=»/usr/share/terminfo»
export TERM=»xterm»
mc

Но что бы каждый раз не писать эти строчки перед запуском, то лучше прописать их в файле profile:

vi /etc/profile
export TERMINFO=/usr/share/terminfo
export TERM=xterm

Еще можно выбрать тип терминала в Putty

Midnight Commander должен выглядеть вот так:

Устанавливаем Web Interface LuCI
opkg update
opkg install luci

Включаем и запускаем веб интерфейс
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start

Проверяем, из браузера с любого устройства, набраем IP адрес 192.168.1.99
Логин: root
Пароль: xxxx

Для руссификации Luci устанавливаем следующий пакет
opkg update
opkg install luci-i18n-russian

Описание часто используемых команд в OpenWrt linux:

uname -a — Показать версию ядра Linux;
cat /proc/cpuinfo — Показать информацию о железе
cat /proc/meminfo — Показать расширенную информацию о занимаемой оперативной памяти
free -m — Информация о используемой и свободной оперативной памяти
ls /dev — Показать все устройства в системе
id — Показывает сводную информацию по текущему пользователю (логин, UID, GID);
ps — Показать все загруженные процессы;
top — Посмотреть какой процесс и на сколько он нагружает процессор
date — Посмотреть дату и время
dmesg — Показывает log-файл загрузки
lsmod — Список всех модулей загруженных в ядро
netstat -rn — Выводит таблицу маршрутизации
netstat -an | grep LISTEN — Показывает список всех открытых портов
netstat -tup — Активные соединения с интернетом
nslookup cyber-place.ru — отправить запрос DNS серверу и получить IP запрашиваемого домена
stty -F /dev/ttyATH0 speed — узнать скорость порта
stty -F /dev/ttyATH0 -a — полная информация об настройках порта
stty -F /dev/ttyATH0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts — Изменить параметры UART порта

fdisk -l Информация о всех подключенных дисках;
blkid — Выводит UUID информацию всех доступных накопителей в системе;
df Показывает свободное и занятое место в разделах;
mkfs.ext4 /dev/sda1 — Форматирует диск sda1 в FS ext4
mount /dev/sda1 /mnt — Монтирует раздел /dev/sda1 к точке монтирования /mnt;
mount — Показывает полную информацию о примонтированных устройствах;
umount /mnt — Отмонтирует раздел от точки монтирования /mnt;
clear — Очистить окно терминала;
reboot — Перезагрузить устройство;
exit — Завершить сеанс;
passwd — Меняет пароль текущего пользователя;
date — Показывает текущую дату и время;
pwd — Показывает текущий путь;
ls — Показывает список файлов и каталогов в текущей папке;
mkdir /test — Создание папки с именем test;
rmdir /test — Удаление папки с именем test;
rm -i stats.gif — Удаление файла с именем stats.gif;
touch /tmp/myfile.txt — Создать фаил
chmod 777 /tmp/myfile.txt — Изменить права доступа к файлу

cd /tmp — Перейти в указанную папку;
wget htp://cyber-place.ru/images/misc/stats.gif — Скачать файл в текущую папку

opkg update – обновляет список пакетов (загружая его из репозитория, указанных в конфигурационном файле);
opkg upgrade – обновляет все установленные пакеты;
opkg install – устанавливает пакет (в качестве параметра может принимать имя пакета, а также путь или HTTP URL, указывающий на файл пакета);
opkg remove – удаляет один или несколько пакетов;
opkg list – выводит на экран полный список пакетов;
opkg list-installed – выводит на экран список установленных пакетов.

cat /home/primer- Показать содержимое файла /home/primer ;
vi /folder/filename — открыть файл в редакторе vi
i — включить режим редактирования
[Esc] — выйти из режима редактирования

u — undo (отмена)
CTRL + R — redo

:w [Enter] — сохранить внесенные изменения.

:q [Enter] — выйти без сохранения изменений
:wq [Enter] — сохранить внесенные изменения и выйти.

dd — удалет строку на которой находится курсор
x — удалет символ на котором находится курсов

[y] — копирует строку в буфер
[P] — вставляет скопированную строку после той, на которой в текущий момент находится курсор

Источник

Adblock
detector