Подключение linux к d link

Обновлено: 04.07.2024

Задача: базовая настройка управляемого коммутатора, с использованием "интерфейса командной строки" (CLI).

Зайти на устройство можно через "консольный" порт (RS-232). Подключаем кабель (DB-9 cable):

Рекомендованные производителем параметры подключения следующие:

terminal - VT 100+;
speed - 9600;
parity - none;
data bits - 8;
stop bit - 1;
sofware flow control - none;
hardware flow control - none.

Сразу идём в меню настроек утилиты "minicom" для корректировки параметров сеанса связи с коммутатором: "Ctrl+O". Переходим в подменю "Serial port setup". Нажав клавишу "F", выбираем значение "No" для опции "Hardware Flow Control". Подтверждаем выбор и выходим из меню конфигурирования. Готово, мы в коммутаторе:

Просто нажимаем пару раз "Enter", проходя этапы ввода логина и пароля, и вот, мы можем просмотреть текущую конфигурацию устройства:

Device Type : DES-3028 Fast Ethernet Switch
MAC Address : MAC
IP Address : 10.90.90.90 (Manual)
VLAN Name : default
Subnet Mask : 255.0.0.0
Default Gateway : 0.0.0.0
Boot PROM Version : Build 1.00.B06
Firmware Version : Build 2.00.B27
Hardware Version : A2
Serial Number : Serial
System Name :
System Location :
System Contact :
Spanning Tree : Disabled
GVRP : Disabled
IGMP Snooping : Disabled
VLAN trunk : Disabled
802.1x : Disabled
TELNET : Enabled(TCP 23)
WEB : Enabled(TCP 80)
RMON : Disabled
SSH : Disabled
SSL : Disabled
Clipaging : Enabled
Syslog Global State: Disabled
Dual Image : Supported
Password Encryption Status : Disabled

Приступим к конфигурированию как таковому.

На всякий случай явно отключаем автоматическую настройку с помощью DHCP:

Назначим свой IP-адрес:

Удостоверимся в том, что изменения приняты:

Interface Name : System
IP Address : 192.168.1.2 (MANUAL)
Subnet Mask : 255.255.255.0
VLAN Name : default
Admin. State : Enabled
Link Status : Link UP
Member Ports : 1-28

Обратите внимание на то, что "shell" устройства регистро-чувствительный, в частности, команда "System" так и вводится, с большой буквы, в то время как другие - с маленькой.

Задаём маршрут по умолчанию, необходимый для обеспечения доступности управляющего функционала коммутатора:

Удостоверимся, что маршрут верно задан:

IP Address/Netmask Gateway Interface Hops Protocol
------------------ --------------- ----------- ------- --------
0.0.0.0/0 192.168.1.1 System 1 Default
192.168.1.0/24 0.0.0.0 System 1 Local

Проверим, достижим ли с коммутатора какой-нибудь удалённый ресурс:

Reply from 192.168.12.12, time<10ms
Reply from 192.168.12.12, time<10ms
Reply from 192.168.12.12, time<10ms
Ping Statistics for 192.168.12.12
Packets: Sent =4, Received =4, Lost =0

И так, теперь, когда железка доступна для подключения не только локального, но и удалённого, вынесем работу из гудящей и холодной серверной в кресло администратора, приняв меры, в то-же время, к обеспечению безопасности соединения. А точнее: дополним сетевую конфигурацию, заведём на коммутаторе административный аккаунт, инициируем SSH-сервер и предпишем работать через него.

Отключаем расширенную систему авторизации на устройстве, оставляя локальную базу:

Создаём парочку административных аккаунтов:

Enter a case-sensitive new password:********
Enter the new password again for confirmation:********
Success.

Когда придёт в голову сменить пароль, делаем это так:

Удостоверимся, что аккаунты созданы в том виде, как нам было угодно:

Username Access Level
------------------ ------------
superadmin Admin
trivialadmin Admin

Велим коммутатору шифровать сохранённые в энергонезависимой памяти пароли:

Включаем поддержку доступа к устройству по протоколу SSH:

Поддержку менее безопасного протокола доступа Telnet даже отключать не приходится, прошивка устройства не может работать одновременно и с SSH и с Telnet.

Явно указываем, каким образом мы будем проходить проверку подлинности:

Задаём параметры подключения клиента SSH к серверу:

Вводим заранее созданных пользователей в список допущенных для работы с SSH:

Отдельно явно разрешаем использование протокола шифрования трафика SSH:

Для самоуспокоения можно пробежаться по настройкам, с помощью команды "show" с соответствующими аргументами удостоверится, что желаемые настройки применены верно. После чего - сохраняем всё, и настройки и журнал событий, в энергонезависимую память:

Теперь идём на своё рабочее место и подключаемся к устройству используя для это протокол SSH.

Первым делом стоит подкорректировать настройки портов. Например таким образом:

Здесь мы позволили клиентским портам принимать конфигурацию клиента, предлагая аппаратный контроль потока передаваемых данных, выделили один порт для связи с маршрутизатором на скорости 100 Мегабит с полным "дуплексом" и выделили два "гигабитных" порта для связи с другими коммутаторами.

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

Следует иметь в виду, что у D-Link при конфигурировании "гигабитных" портов нужно явно указывать, какая сторона ведущая, а какая ведомая. В частности, если этот коммутатор "ведущий" (master), что на втором "гигабитные" порты должны быть инициированы как "ведомые" (slave), например:

Далее следует чуть подкорректировать общие настройки, имеющие отношение к обеспечению условий коммутации.

Естественно, для "транков" ограничение на количество обслуживаемых MAC снимаем:

Насколько я понял из документации, опция "DeleteOnTimeout" регламентирует периодичность пересмотра таблицы коммутации (Forwarding Database) MAC на портах. Надо полагать (вернее, так сказано в документации, но я мог неверно перевести), что MAC-адрес клиента неактивного порта будет удалён из таблицы и другому MAC-адресу будет позволено работать на нём именно после этого самого пересмотра таблицы. Сменить период пересмотра таблицы можно с помощью соответствующей команды (по умолчанию период составляет 300 секунд):

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

Теперь активируем функционал "Storm Control" для борьбы с клиентами, сорящими "бродкастовыми" и "мультикастовыми" пакетами (зажимаем клиента по максимуму - у нас только традиционные сервисы, не подразумевающие рассылок; в обычной плоской сети реальный "флуд" диагностируется по показателю в 100 Kbs):

Можно попробовать применить новый функционал D-Link обнаружения и блокирования потенциальных DoS-атак, пока вреда от него я не замечал:

Типов атак несколько, вместо "all" можно включать и выключать их обнаружение индивидуально:

Land Attack, Blat Attack, Smurf Attack, TCP Null Scan, TCP Xmascan, TCP SYNFIN, TCP SYN SrcPort less 1024

Видно, что выше я отключил обнаружение атак типа "TCP SYN SrcPort less 1024"; не углублялся в суть вопроса, но при активировании этой опции коммутатор воспринимает попытки взаимодействия Linux/BDS/Apple-машины с сетевым принтером как атаку, блокируя передачу данных.

Для отлова "петель" на стороне клиента используем специализированный функционал коммутатора, регулярно посылающий тестовый пакет обнаружения "loopback" (это работает независимо от протокола STP):

recover_timer - время (в секундах), в течение которого порты будут отключены для стимулирования пользователя порта разобраться, "почему не работает";
interval - период (в секундах) между отправкой пакетов обнаружения петли.

В качестве дополнительной меры обеспечения доступности сервисов, представляемых коммутатором, включим поддержку "Safeguard engine", режима, в котором отбрасываются или отправляются в конец очереди (с пониженным приоритетом) все ARP и "широковещательные" пакеты тогда, когда загрузка процессора возрастёт выше установленного порога:

rising 90 - процент загрузки процессора, выше которого включается режим "Safeguard engine";
falling 30 - процент загрузки, ниже которого выключается "Safeguard engine";
mode fuzzy - выбираем режим мягкого противодействия нагрузке, когда широковещательные и ARP пакеты не откидываются полностью, а лишь понижаются в приоритете при обработке.

Далее - обще-системные мелочи.

Велим коммутатору отправлять на удалённый сервер данные своего журнала событий:

Научим наш коммутатор выспрашивать точное время у соответствующих серверов.

Задаём "часовой пояс":

Отключим перевод на "летнее время":

Укажем наши сервера точного времени:

Далее отключим то, что не подпадает под понятие базовой настройки.

Отключаем подсистему уведомлений о событиях на SMTP-сервер:

Отключаем систему уведомления SNMP сервера о изменении MAC клиента на портах:

Отключаем протокол оповещения и сбора информации о соседнем оборудовании (свободная замена таким протоколам, как: Cisco Discovery Protocol, Extreme Discovery Protocol, Foundry Discovery Protocol или Nortel Discovery Protocol). Вещь полезная, но в небольшой сети не особо нужная, особенно, если нет понимания целесообразности применения:

Отключаем перенаправление DHCP запросов на целевой сервер:

Отключаем зеркалирование портов (применяется для мониторинга и сбора статистики):

Отключаем поддержку протокола STP:

Отключаем функционал единого адреса для стека коммутаторов:

Отключаем авторизацию клиентов на портах:

Отключаем инкапсуляцию тегов VLAN в теги VLAN второго уровня (сеть у нас маленькая):

Явно отключаем управление "мульткастом", раз уж он не используется:

Можно побродить по "web"-интерфейсу коммутатора. Уж не знаю, что там можно было наворотить, но "сайт" успешно завешивает Google Chrome (Linux); браузер начинает беспрерывно перезапрашивать один из "фреймов" панели управления, потребляя при этом половину ресурсов компьютера и не отображая при этом ничего, кроме аляповатого рисунка коммутатора на мозаичном фоне в стиле Web-0.9. Хорошо хоть Firefox (Linux) справился. Первым делом рекомендую забанить анимированную, очень детализированную, с искорками, вертящимися вокруг стилизованного земного шара, картинку-логотип в фрейме меню управления; лично у меня на "нетбуке" после этого обороты вентилятора сразу упали со средних до нулевого уровня.

Рекомендую отключить "web"-интерфейс:

CLI предоставляет достаточно инструментария для контроля и мониторинга устройства, например:

Port Number : 2
RX Frames TX Frames
--------- ---------
CRC Error 0 Excessive Deferral 0
Undersize 0 CRC Error 0
Oversize 0 Late Collision 0
Fragment 1 Excessive Collision 0
Jabber 0 Single Collision 0
Drop Pkts 0 Collision 0 Port State/ Settings Connection Address
MDI Speed/Dupl/FlowCtrl Speed/Dupl/FlowCtrl Learning
----- -------- ------------------- ------------------- --------
1 Enabled Auto/Enabled 100M/Full/None Enabled
Auto
2 Enabled Auto/Enabled 100M/Full/802.3x Enabled
Auto
3 Enabled Auto/Enabled 10M/Full/802.3x Enabled
Auto
4 Enabled Auto/Enabled LinkDown Enabled
Auto
5 Enabled Auto/Enabled LinkDown Enabled
Auto
6 Enabled Auto/Enabled 100M/Full/None Enabled
Auto
7 Enabled Auto/Enabled LinkDown Enabled
. Interface IP Address MAC Address Type
--------- ------------ ----------------- ---------------
System . FF-FF-FF-FF-FF-FF Local/Broadcast
System . . Dynamic
System . . Local
System . FF-FF-FF-FF-FF-FF Local/Broadcast
.

Unicast RX 713310 0
Multicast RX 0 0
Broadcast RX 40 0


В общем, все. Теперь можете приступать к чтению "мануалов", чтобы осмыслить, как освоить оставшиеся здесь неосвещёнными 90% функционала устройства.

[ уже посетило: 129098 / +20 ] [ интересно! / нет ]


Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

Интерестно, есть ли на форуме люди, которые представляют себе, как собрать Линуксовое ядро и установитить его в маршрутизатор D-link, ну или любой другой!?

887 3 3 золотых знака 20 20 серебряных знаков 44 44 бронзовых знака Меня ещё интересует вопрос, а драйвера на железо маршрутизатора нужно ставить?:) По поводу драйверов я не знаю. У нас были специальные железки. Чуть позже проясню ситуацию у коллег, чтоб не соврать

Задача сборки прошивки для девайса(роутер или что-то еще,- не важно) вообще говоря достаточно сложна:

Чтобы собрать прошивку надо иметь исходники ядра, rootfs и тематического софта(того, который делает железки разными: веб-интерфейсы, приложения и т.п.). Скорее всего Ваша железка не содержит процессора х86 семейства. Соответственно Вам потребуется набор кросстулов(gcc, binutils) для компиляции ядра на x86 хост-машине.

Скорее всего у Вас нет такого набора тулов от производителя железки, т.е. придется сначала собрать тулы. Уже на этом первом шаге у Вас могут возникнуть проблемы, типа: есть вероятность, что Вы не сможете найти правильный пакет gcc, который сможет генерить код на Вашу target железку.

Если Вы нашли и собрали кросстулы, следующий пункт сборка ядра, модулей ядра(если они есть) и rootfs, если ее нет готовой. Здесь проблема в том, что у Вас скорее всего нет исходников всех необходимых драйверов/модулей (хотя может для роутера найдется все - я хз).

Следующий пункт сборка приложений(если они есть), конфигурирование и укладка всего что есть в target файловую систему для сборки образа для заливки(это если у Вас прошивка единим образом кладется. Бывают случаи когда ядро и rootfs отдельно, а все остальное отдельно ставится уже после установки ядра и rootfs).

Теперь если у Вас образ для заливки на руках, то надо разбираться со способом залики образа на коробку, мне известны следующие варианты:

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

записываем образ на USB-флеху, втыкаем в железку USB-флеху, жмем кнопки - вкл. питание.

используем JTAG - шьем аппаратно.

загружаем железку в bootloader(сюда заходим через сериал-терминал), в бутлоадере скачиваем прошивку через tftp, там же прошиваем.

загружаем железку в bootloader, в бутлоадере монтируем образ ядра через nfs, загружаемся в линукс с nfs.

В процессе сборки/прошивки могут возникать следующие проблемки:

криво собрались/прошились,- бутлоадер в наличии - пересобираемся/прошиваемся заново)

криво прошились,- убили бутлоадер,- железка не встала - ищем JTAG)

криво прошились,- железка не встала, сдохла флеха на железке - несем ее на свалку)

С поддержкой W-Fi адаптеров в Ubuntu наблюдаются определенные проблемы. Хорошо если можно выбрать заведомо совместимую модель при покупке, но чаще приходится использовать то оборудование, которое есть. В этом случае придется устанавливать адаптер самостоятельно. Сегодня мы рассмотрим как раз такой случай.

Забегая вперед, скажем, что ничего сложного в подключении неподдерживаемых Wi-Fi адаптеров нет. Несмотря на то, что ряд производимых нами действий можно выполнить при помощи графического интерфейса, мы будем работать исключительно в консоли, что позволит использовать рекомендации данной статьи как для настольных, так и для серверных версий Ubuntu.

Для примера рассмотрим подключение в Ubuntu 12.04 LTS недорогого USB-адаптера TP-Link TL-WN725N.

wi-fi-ubuntu-001.jpg

Как это обычно бывает, вы купили Wi-Fi адаптер, распаковали, подключили. И никаких признаков жизни. Становится очевидно, что данная модель не поддерживается используемым дистрибутивом. Что делать?

Прежде всего убедимся, что система видит само USB-устройство. Для этого выполним команду

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

wi-fi-ubuntu-003.jpg

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

Перейдем в домашнюю директорию и скачаем архив репозитория, предварительно повысив права до суперпользователя:

Распакуем архив (при необходимости установив unzip).

Как можно увидеть из вывода команды, содержимое архива распаковалось в директорию rtl8188eu-master, перейдем в нее и выполним сборку модуля:

После сборки модуля в директории должен появиться файл 8188eu.ko, это и есть искомый модуль ядра. Теперь установим его командой:

Осталось включить наш модуль, выполнив команду:

wi-fi-ubuntu-005.jpg

Или выполните в консоли команду:

В выводе вы увидите появившийся беспроводной интерфейс wlan0.

wi-fi-ubuntu-006.jpg

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

Управляющие железки у меня уже есть, и не выбрасывать же DES-3200 Так пусть послужит, как устройство обеспечивающее питание для устройств которые могут работать через PoE.

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

Итак моя основная система вокруг которой будут крутится все дальнейшие действия — Ubuntu 12.04.5 Desktop amd64, на компьютере установлен слот для подключения консольного кабеля, консольный кабель от Cisco устройств (его фото ниже, светло-голубой провод с разъемами RS-232 и RJ-45)

Далее устанавливаю в систему всем известный клиент putty (за основу беру заметку). Дело в том, что в этом клиенте уже есть возможность подключения к консольному порту.

Подключаемая схема следующая:

  • Мой Компьютер (+плата на выход COM портов), утилита putty → консольный кабель от CISCO → оборудование: D-Link DES-3280-28/ME

Ставлю утилиту putty в систему:

$ sudo apt-get install putty -y

Проверяю, как система видит консольное подключение:

$ sudo apt-get install setserial -y

$ sudo setserial -g /dev/ttyS[0123]

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3

/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4

/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

Теперь запускаю утилиту putty и настраиваю подключение к оборудованию:

Gnome Classic — Приложения — Интернет — PuTTY SSH Client или же Alt + F2 и набираю putty

перехожу в категорию (Category) — Serial и привожу поля к следующему виду: (так хочу обратить внимание, что параметры подключения берутся из документации к данному оборудованию D-Link DES-3200-28/ME)

Serial line to connect to: /dev/ttyS0

Speed (baud): 115200

Data bits: 8

Stop bits: 1

Parity: None

Flow control: XON/XOFF

после переходу в категорию Session и:

Connection type: отмечаю Serial, в полях

Speed: должно стать — 115200

после на будущее использование сохраняю настройки подключения:

Saved Session: ввожу название настроек, как des3200_28ME для удобства вспоминания и нажимаю на кнопку Save. Теперь когда настройки подключения заданы можно посредством клиента putty произвести подключение к консоли оборудования D-Link — нажимаю кнопку Open

Не могу подключиться к оборудованию через консоль

и получаю ошибку:

«Unable to open connection to :»

«Unable to open serial port»

Внимательно проанализировав пришел к выводу, что клиент putty нужно запускать с правами суперпользователя:

Запускаю консоль командной строки: Ctrl + Alt + T и набираю:

загружаю сохраненную ранее конфигурацию на подключение:

категория Session — выбираю des3200_28me и нажимаю Load, а после Open — открывается окно, почему то с черным фоном и ничего более:

Подключился к консоли оборудования, то только черный экран

Не знаю что и делать, но вот когда все выше перечисленное проделал но на системе Windows соединение к консоли устройства (Dlink DWS-3160-24PC) прошло удачно. Меня приветствовала надпись:

А на Windows 7 через клиент Putty подключение к консоли оборудования происходит нормально

Ладно, раз моя система (Ubuntu 12.04.5 Desktop amd64) Не хочет работать с консольным кабелем, то задействую на этот случай специализированный конвертер который по этому случаю я специально приобрел, а именно: RS232 to USB (Trendnet TU-S9)

Смотрю теперь, как система опознала подключение к устройству (D-Link DES-3200-28/ME) через него:

$ dmesg | grep usb

[ 9989.108291] usb 5-4: new full-speed USB device number 3 using ohci-pci

[ 9989.275257] usb 5-4: New USB device found, idVendor=067b, idProduct=2303

[ 9989.275265] usb 5-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[ 9989.275271] usb 5-4: Product: USB-Serial Controller D

[ 9989.275275] usb 5-4: Manufacturer: Prolific Technology Inc.

[ 9989.360748] usbserial: USB Serial support registered for generic

[ 9989.377068] usbserial: USB Serial support registered for pl2303

[ 9989.377145] pl2303 5-4:1.0: pl2303 converter detected

[ 9989.398381] usb 5-4: pl2303 converter now attached to ttyUSB0

А теперь на какое устройство система определило подключение:

$ sudo setserial -g /dev/ttyUSB[0123]

/dev/ttyUSB0, UART: 16654, Port: 0x0000, IRQ: 0

Отлично, снова запускаю консоль командной строки и утилиту putty с правами суперпользователя, загружаю профиль соединения, но теперь переправляю порт подключения:

категория Session — выбираю des3200_28me, после перехожу в категорию Serial и привожу к виду:

Serial line to connect to: /dev/ttyUSB0

а после снова перехожу в категорию: Session и сохраняю внесенные изменения нажатием на кнопку Save. Пробую подключиться нажатием кнопки Open (предварительно вытащив кабель питания от устройства (D-Link DES-3200-28/ME) и вставив его снова дабы увидеть весь процесс того, как загружается устройство) и

Через конвертер COM порт на USB подключение успешно

через некоторое время на черном фоне меня ожидает приятный сюрприз — я подключился к консоли, информация об устройстве (D-Link DES-3200-28/ME) выводится мне на консоль открытого сеанса putty:

Подключение успешно, то авторизовать не получается, нужно сделать Reset Configuration

По документации вход на устройство (D-Link DES-3200-28/ME), как через Web-интерфейс, так и через консоль это пустые значения на полях аутентификации:

UserName: по дефолту значения нет

Password: по дефолту значения нет

Если все сделано правильно то коммутатор (D-Link DES-3200-28/ME) прекратит загрузку и перебросит в режим восстановления, приглашение вида есть тому подтверждение:

Password Recovery Mode

В данном режиме доступны всего лишь три команд:

> help

reboot reset show

делаю полный ресет всех настроек приводящих к обнулению настроек на дефолтные значения:

> reset config

Command: reset config

Are you sure want to reset current configuration?(y/n) Y

А после отправляю устройство в перезагрузку:

> reboot

Save current settings before system restart?(y/n) Y

Через некоторое время устройство (D-Link DES-3200-28/ME) загрузилось и на запрос в консоли:

и в поля UserName & Password просто нажав клавишу Enter попадаю в устройство с административными правами:

Username: нажимаю клавишу Enter

Password: нажимаю клавишу Enter

И после загрузки получаем дефолтную конфигурацию, где уже посредством кабеля вида кроссовер:

Конец №1:

  • бело-зеленый/зеленый/бело-оранжевый/синий/бело-синий/оранжевый/бело-коричневый/коричневый

Конец №2:

  • бело-оранжевый/оранжевый/бело-зеленый/синий/бело-синий/зеленый/бело-коричневый/коричневый

подключаемся с ноутбука или компьютера (выставляем принудительно статический адрес: 10.90.90.91) и подключаемся через Web -интерфейс к Dlink ’у (его IP адрес: 10.90.90.90), а в качестве аутентификационных данных пустые значения и что самое необходимое мне устройство работает в режиме простого свитча, что мне и требуется.

Перевожу устройство использования IP адреса с дефолтного значения статики на динамическое подключение к DHCP сервера в локальной сети:

А все также находясь в консоли через клиент putty вывожу командой, а какой же все таки IP адрес получило устройство от DHCP сервера когда подключил к нему кабель из розетки:

Show ipif

Пример от другого устройства: DWS-3160-24PC

IPv4 Address – равен 10.7.8.89/24

IP адресс от DHCP сервера успешно получен устройством D-Link

Теперь когда устройство готово к нему можно успешно подключать точки доступа D-Link DWL-6600AP для питания через PoE. Итого задача выполнена, заметка расписана в шагах и больше здесь нечего добавить, пора прощаться, до встречи, с уважением автор блога – Олло Александр.

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

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

Человек по имени Andreas Böhler написал патч для openwrt ревизии 39746 для возможности компилирования прошивки. Следующие действия выполняются в ОС Debian под VirtualBox.

Устанавливаем пакеты для компиляции:

sudo apt-get install subversion git g++ libncurses5-dev zlib1g-dev gawk

Ну и компиляция прошивки.
Проверка установленных компонентов:

Если появилось такое окно, выбираем в Target System строку Marwell Kirkwood и в Target Profile строку D-Link DNS320L:


Если такое этого не произошло, и нет ошибок, нужно выполнить:

Собственно, этого достаточно для чистой изначальной рабочей прошивки. При желании можно побегать по меню и установить нужные пакеты. Я установил Base System -> block-mount и Kernel Modules -> FileSystem -> kmod-fs-ext4, так как я планирую перенести корневой каталог на жесткий диск. Я использовал внешний USB жесткий, но с таким же успехом можно использовать sata жесткий или флешку.

где 5 – количество ядер +1

Оставим компиляцию, это дело медленное. Далее нужно подключиться к консоли NAS. Для этого есть 4 пина на палате, находятся возле usb и сетевой, я припаял к ним палочки для легкого подключения, использую вот такой адаптер, можно использовать любой адаптер на PL2303, например, кабель от сименса dca-510:



Выводы платы нужно подключить в соответствующие выводы адаптера USB-TTL. Если не заработает, то поменять местами RX и TX, 3.3v подключать не нужно! Я подключал и спалил 2 адаптера.


После подключения открываем Putty и устанавливает порт подключения (порт можно посмотреть в Диспетчере устройств -> Порты COM и LPT) скорость 115200.


В категории serial Data bits – 8, Flow Control — None.




После этого NAS перезапустится и запустится OpenWRT.

После загрузки OpenWRT нужно поменять некоторые файлы.

И после загрузки запустится openwrt получит ip адрес по сети, можно подключаться по ssh.

Далее жесткий, на котором будет / форматируем в ext4, разархивируем на него openwrt-kirkwood-dns320l-rootfs.tar в NAS

opkg install kmod-usb-uhci kmod-usb-storage block-mount kmod-fs-ext4
устанавливает нужные пакеты для переноса на usb
vi /etc/config/fstab

config mount
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0

sda1 меняем на раздел диска, на котором будет / и вы распаковали архив.

После перезагрузки, если все сделано правильно, получаем OpenWRT с корнем на диске.
Осталось только 2 полупроблемы:
1. кулер не крутится, решил это подключением к питанию в обход платы;
2. диски не паркуются, временное решение — UPS от внезапной потери света

Файлы с прошивкой, которые я использовал, лежат на Яндекс.Диск.
UPD1: Чуток изменил настройки ядра, теперь доступной памяти 118 МБ Яндекс.Диск bigroot, нужно заново прошить ядро и jffs.

UPD2: по поводу скорости сравнить не могу(сейчас другие винты стоят, а возможноти вернуться нет), кто может скинуть дамп/backup официальной?, сделаю сравнение официальной, alt-f и openwrt 12 и 14, Пишите в личку ;-)

Читайте также: