Подключение 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 SwitchMAC 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 : SystemIP 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<10msReply 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 : 2RX 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 адаптер, распаковали, подключили. И никаких признаков жизни. Становится очевидно, что данная модель не поддерживается используемым дистрибутивом. Что делать?
Прежде всего убедимся, что система видит само USB-устройство. Для этого выполним команду
В выводе вы должны увидеть строку, соответсвующую подключенному устройству, скорее всего она будет содержать информацию о чипе, на котором собран адаптер. В нашем случае это Realtek. Если вы не уверены, что адаптер присутсвует в списке, выполните команду два раза, с подключенным и отключенным устройством.
Следующим шагом вам нужно выяснить модель чипа, на котором собран адаптер. Для этого уточните его полную маркировку и аппаратную версию, так как под одним и тем же наименованием могут выпускаться устройства на разных чипах. Вся необходимая информация указана на этикетке, также она может быть продублирована на самом устройстве.
Перейдем в домашнюю директорию и скачаем архив репозитория, предварительно повысив права до суперпользователя:
Распакуем архив (при необходимости установив unzip).
Как можно увидеть из вывода команды, содержимое архива распаковалось в директорию rtl8188eu-master, перейдем в нее и выполним сборку модуля:
После сборки модуля в директории должен появиться файл 8188eu.ko, это и есть искомый модуль ядра. Теперь установим его командой:
Осталось включить наш модуль, выполнив команду:
Или выполните в консоли команду:
В выводе вы увидите появившийся беспроводной интерфейс wlan0.
Как видим ничего сложного нет. Однако следует помнить, что модуль собирается и устанавливается под текущую версию ядра, и при его обновлении будет необходимо выполнить сборку и установку модуля заново. Если такой возможности нет, то следует, удерживая 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) прошло удачно. Меня приветствовала надпись:
Ладно, раз моя система (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) и вставив его снова дабы увидеть весь процесс того, как загружается устройство) и
через некоторое время на черном фоне меня ожидает приятный сюрприз — я подключился к консоли, информация об устройстве (D-Link DES-3200-28/ME) выводится мне на консоль открытого сеанса putty:
По документации вход на устройство (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
Теперь когда устройство готово к нему можно успешно подключать точки доступа 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, Пишите в личку ;-)
Читайте также: