Сетевое хранилище NAS из роутера с доступом через интернет
Существует несколько вариантов реализации сетевого хранилища для дома, например, открытие общего доступа к папке в операционной системе, создание сервера на основе обычного системника, либо готовое решение которое останется лишь подключить к сети и розетку, сделав небольшую настройку в интуитивно понятном интерфейсе.
Рассмотрим один из вариантов домашнего сетевого хранилища с возможностью доступа к нему с компьютеров, мобильных устройств и Смарт ТВ. Хранилище может быть использовано в качестве облачного для видеонаблюдения, конечно, не промышленного масштаба. Для этого можно воспользоваться, например, роутером Zyxel Kenetic Viva, у которого имеется USB-порт для подключения модемов, принтеров и накопителей.
Безусловно, подойдут маршрутизаторы и других производителей, поддерживающих подключение носителей информации по USB.
В качестве накопителя можно использовать не только внешние жесткие диски, но также SSD и обычные HDD на 3,5 или 2,5 дюйма с SATA-интерфейсом.
Чтобы их подключить, понадобится переходник с SATA на USB.
Хочу отметить, что для 2,5 дюймового HDD или SSD подойдет переходник с SATA на USB без дополнительного питания (например данный https://letyshops.com/r/aliexpress-25e09304614b). Для жестких дисков 3,5 дюйма нужен адаптер с дополнительным питанием (например данный http://ali.pub/4ze6h9).
Подготовив необходимые комплектующие, остается произвести настройку роутера. В операционной системе Windows, запустив браузер в адресной строке, нужно ввести IP-адрес роутера. Узнать адрес можно на его обратной стороне или же, посмотрев в настройках сетевого подключения адрес шлюза который и является адресом маршрутизатора.
Затем следует ввести логин и пароль, если их не меняли, то по умолчанию, чаще всего admin\admin или только логин admin. В Web-интерфейсе, на текущем маршрутизаторе, перейдя во вкладку «Обновление» и отобразив дополнительные компоненты, следует установить представленные элементы, касающиеся USB-накопителя.
Для установки компонентов остается нажать клавишу «Установить». В разделе «Приложения». В первой же вкладке «Сеть Windows» достаточно будет поставить галочку напротив поля «Включить». Остальные пункты можно активировать по мере необходимости.
Выполнив настройки роутера следует подключить сетевой диск. Для этого, в Windows 10, кликнув на Рабочем столе по ярлыку «Этот компьютер», в адресной строке необходимо набрать два обратных слеша и IP-адрес роутера.
В результате сетевой диск отображается в разделе «Этот компьютер».
Netgear WNR3500L: Превращаем роутер в NAS
История покупки роутера 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 и жмем «Загрузить».
Теперь просто ждем и ничего не делаем. После окончания обновления нужно сбросить маршрутизатор аппаратной кнопкой и дождаться загрузки. Снова заходим на роутер и видим веб интерфейс DD-WRT, просящий ввести новый пароль.
После ввода пароля идем в раздел Administration > Firmware Upgrade, выбираем уже полноценную прошивку в формате *.bin и нажимаем Upgrade.
Спустя несколько минут, наслаждаемся результатом. Далее переходим к настройке подключения к интернет, но так как настройки различны для каждого провайдера, подробно описывать этот процесс не вижу смысла, они не сложнее настройки любого другого роутера. В моем случае это 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 приводим к следующему виду:
Подключаем диск к роутеру и перезагружаем его «железной» кнопкой (у меня после софт-ресета диск не подцепился). После загрузки роутера снова идем в веб интерфейс на вкладку Services > USB, и если предыдущие шаги были выполнены верно, видим примерно следующее:
Теперь приступаем к установке самбы. Сначала коннектимся к роутеру любым телнет клиентом (я использовал 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
Теперь нужно обновить самбу до последней доступной версии (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
Далее нужно подредактировать конфиг самбы. Открываем скопированную версию
и ищем строку 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
Перезагружаемся и радуемся!
Шаг третий: Настройка 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 скорость ниже. Скриншот небольшого теста:
Отключение шифрования на Wi-Fi значительного прироста в скорости не дает. Средняя скорость составляет 2.4МБ\сек. Максимум что удалось выжать из Wi-Fi — 3МБ\сек (отключены все сервисы кроме самбы). Мощности процессора — с запасом.
Так же отмечу, что описанное в данном топике, далеко не все возможности прошивки DD-WRT. Пакеты Optware позволяют довольно сильно расширить функциональность девайса, однако не стоит забывать, что это домашний роутер и требовать от него высокой производительности при огромном количестве подключенных сервисов не стоит. Во всем нужно знать меру.
В следующем топике я опишу настройку принт- и медиасервера на этом роутере. Спасибо за внимание.