Как стать автором
Обновить

Netgear WNR3500L: Превращаем роутер в NAS

Время на прочтение 6 мин
Количество просмотров 76K
История покупки роутера Netgear WNR3500L похожа на поговорку автолюбителей: тюнинг автомобиля начинается после дтп. Так и в моем случае. Старенький и глючный D-Link DIR300 умер смертью храбрых (скорее всего перегрев от нагрузки). Так как работал он, мягко говоря, неудовлетворительно, было решено купить железку помощнее и посовременнее.

Среди претендентов оказались 3 модели: Asus N16, Linksys WRT160NL и Netgear WNR3500L. Все они удовлетворяли нескольким критериям: быстрый процессор, много оперативки, USB для подключения жесткого диска и возможность установки альтернативных прошивок. Несмотря на большую любовь к марке Linksys, выбор пал в сторону Netgear. Причина проста: линксисов попросту нигде не было в наличии, асус купили прямо у меня перед носом, а роутер был очень нужен. В качестве накопителя был выбран 3.5” WD Elements на 1.5ТБ.

WNR3500L позиционируется компанией Netgear как open source роутер. Самые популярные прошивки для него – это Tomato, OpenWRT и DD-WRT. Я остановился на DD-WRT. Она понравилась мне как по скорости, так и по функционалу, который расширяется установкой пакетов Optware. Ранее на хабре уже раскрывалась тема установки Samba на DD-WRT (прямо вот тут), но в этом топике я постараюсь как можно полнее раскрыть вопрос установки и начальной настройки данного роутера по методу, который наши иностранные коллеги называют «The Right Way».



Шаг первый: Установка DD-WRT.



Сначала идем по ссылке и вбиваем в строку поиска модель роутера. Далее выбираем из найденных конкретную модель. В моем случае это WNR3500L. Теперь нужно скачать 2 файла: собственно прошивку и Netgear WNR3500L Firmware: Special File for initial flashing. Так как флэш-памяти в роутере целых 8МБ, я выбрал прошивку NEWD K2.6 Big Generic.
Теперь все готово к прошивке. Так как «из коробки» роутер не понимает прошивки в формате *.bin, льем сначала d-wrt.v24-14896_NEWD-2_K2.6_mini-WNR3500L.chk. Заходим на роутер (192.168.1.1 по дефолту) в раздел «Обновление маршрутизатора», выбираем *.chk и жмем «Загрузить».

image

Теперь просто ждем и ничего не делаем. После окончания обновления нужно сбросить маршрутизатор аппаратной кнопкой и дождаться загрузки. Снова заходим на роутер и видим веб интерфейс DD-WRT, просящий ввести новый пароль.

image

После ввода пароля идем в раздел Administration > Firmware Upgrade, выбираем уже полноценную прошивку в формате *.bin и нажимаем Upgrade.

image

Спустя несколько минут, наслаждаемся результатом. Далее переходим к настройке подключения к интернет, но так как настройки различны для каждого провайдера, подробно описывать этот процесс не вижу смысла, они не сложнее настройки любого другого роутера. В моем случае это VPN через PPTP. Все настройки интернет подключения — на вкладке Setup > Basic Setup.

Шаг второй: Подготовка диска и установка Samba



Для того чтобы диск корректно монтировался к системе, его нужно должным образом разбить и отформатировать. Для диска будем использовать файловую систему ext3. Отформатировать его можно в любом дистрибутиве Linux (подойдет и Live CD), либо прямо из под Windows, с помощью дисковых утилит (Acronis Disk Director Suite или Partition Magic). Я выбрал второй путь. Диск нужно разбить на 4 партиции (Primary, или Основной в русскоязычном варианте), точно в таком порядке:

  • Partituon #1. Optware (ext3): монтируется в /opt. Сюда будут устанавливаться пакеты Optware. Размер не менее 512 мегабайт.
  • Partituon #2. Swap (Linux Swap): собственно своп. Большой размер не нужен. Достаточно и 128 мегабайт.
  • Partituon #3. JFFS (ext3): монтируется в /temp. Размер не менее 128 мегабайт.
  • Partituon #4. Share (ext3): монтируется в /mnt. Собственно тут и будет шара для самбы.


Такой порядок нужен для правильного автомонтирования в DD-WRT. Ранее (при использовании старого метода), диск монтировался в /jffs, скрипты для монтирования писались в стартап. Это больше не понадобится. После разбиения диска переходим к настройкам роутера. Вкладку Services > USB приводим к следующему виду:

image

Подключаем диск к роутеру и перезагружаем его «железной» кнопкой (у меня после софт-ресета диск не подцепился). После загрузки роутера снова идем в веб интерфейс на вкладку Services > USB, и если предыдущие шаги были выполнены верно, видим примерно следующее:

image

Теперь приступаем к установке самбы. Сначала коннектимся к роутеру любым телнет клиентом (я использовал putty)

Логин: root
Пароль: тот, что вы указали в самом начале в веб-интерфейсе.

и командой mount проверяем, правильно ли примонтировались диски. Выдать должно примерно следующее:

root@berry:~# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw)
devpts on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part1 on /opt type ext3 (rw,noatime,data=ordered)


Далее — установка базовых пакетов Optware. Для этого нужно выполнить следующие комманды:

wget -O /tmp/prep_optware wd.mirmana.com/prep_optware
sh /tmp/prep_optware


Это пожалуй самый долгий этап. На моем канале в 4Мб\с он занял примерно 20 минут. После того как эта процедура будет закончена, нужно подождать примерно 1-2 минуты (чистится temp), а затем перезагрузить роутер командой reboot.

Перезагрузив роутер, можно проверить свободное место на примонтированых дисках коммандой df -h

root@berry:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 5.7M 5.7M 0 100% /
/dev/root 5.7M 5.7M 0 100% /
/dev/discs/disc0/part1
1010M 387M 573M 41% /opt
/dev/sda4 1.4T 19G 1.3T 2% /mnt
/dev/sda3 1010M 33M 927M 4% /tmp/c


а так же запущенные сервисы командой service

image

Теперь нужно обновить самбу до последней доступной версии (3.5 на момент написания статьи). Делаем следующее: копируем конфиги старой самбы

cp /opt/etc/samba/smb.conf /opt/etc/samba/smb.conf.copy
cp /opt/etc/init.d/S80samba /opt/etc/init.d/S80samba.copy


затем перемещаем сделанные копии в надежное место.

mv /mnt/smb.conf.copy /opt/etc/samba/smb.conf.copy
mv /mnt/S80samba.copy /opt/etc/init.d/S80samba.copy


Далее нужно подредактировать конфиг самбы. Открываем скопированную версию

vi /opt/etc/samba/smb.conf.copy


и ищем строку interfaces =. Заменяем ее на interfaces = 192.168.1.1/24. Сохраняем конфиг и идем дальше — останавливаем сервисы самбы

service samba stop
service samba off


удаляем samba2 и устанавливаем samba35 + SWAT (веб-интерфейс).

ipkg-opt remove samba2
ipkg-opt install samba35
ipkg-opt install samba35-swat


Самба ругается на конфиги, но мы не обращаем на это внимания и продолжаем. Переносим сделанные ранее копии на законное место и удаляем конфиги сделанные samba35.

cp /opt/etc/samba/smb.conf.copy /opt/etc/samba/smb.conf
cp /opt/etc/init.d/S80samba.copy /opt/etc/init.d/S80samba
rm /opt/etc/init.d/S08samba
rm /opt/etc/init.d/S80samba.copy


Запускаем сервисы самбы

service samba on
service samba start


Перезагружаемся и радуемся!

reboot

Шаг третий: Настройка Samba и Transmission



После перезагрузки нужно запустить службу xinetd. Она позволит воспользоваться веб-интерфейсом самбы, который будет доступен по адресу http://192.168.1.1:901.

service xinetd on
service xinetd start


Изначально самба сконфигурирована уже достаточно грамотно. Желающие могут поковырять конфиг еще, но я его не трогал. Созданная самба будет доступна по адресу \\192.168.1.1\public. Далее я советую выключить Twonky. Это хороший медиасервер, но он ест невероятное количество ресурсов роутера (хотя на WNDR3700 можно попробовать им пользоваться). Для этого нужно всего 2 команды

service twonky stop
service twonky off


Больше он нас беспокоить не будет. Теперь пришла череда торрент-клиента Transmission. Для начала его нужно запустить

service transmission on
service transmission start


затем зайти на веб-интерфейс по адресу http://192.168.1.1:9091 и начатьим пользоваться! Для более удобного использования торрента посоветую одну хорошую вешь — Transmisson Remote GUI. С помощью него можно более полно контролировать процессы закачек. Но самой полезной функцией считаю перенос торрентов. Изначально Transmission качает все файлы в свою папку: /mnt/Torrent/work. Но с помощью Transmisson Remote их можно растащить по нужным директориям после скачивания. Протестировал торрент на множественных соединениях, результаты таковы: процессор роутера загружается на 100% (на 4Мб\сек канале) при примерно 3к соединений, но при этом роутер не подвисает и внешне не подает никаких признаков своей нагруженности (что весьма странно).

Вот собственно и все. Примерно час потраченного времени превращает данный роутер в NAS. За время испытаний самбы, роутер показывал скорость примерно равную 5.5МБ\сек (по проводу), что считаю достаточным для возложенных на него функций. По Wi-Fi скорость ниже. Скриншот небольшого теста:

image

  • Канал: Wi-Fi
  • Шифрование: WPA2
  • Файл: 9Gb *.mkv


Отключение шифрования на Wi-Fi значительного прироста в скорости не дает. Средняя скорость составляет 2.4МБ\сек. Максимум что удалось выжать из Wi-Fi — 3МБ\сек (отключены все сервисы кроме самбы). Мощности процессора — с запасом.

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

В следующем топике я опишу настройку принт- и медиасервера на этом роутере. Спасибо за внимание.
Теги:
Хабы:
+51
Комментарии 100
Комментарии Комментарии 100

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн