Найти в Дзене
Сказки цифрового LESa

Как я превратил старый D-Link DNS-320L в мощный OpenWRT-роутер

В 2025 году даже устаревшие NAS можно дать вторую жизнь. В этой статье я расскажу, как прошил свой D-Link DNS-320L OpenWRT, превратив его в полноценный Linux-сервер с VPN, сетевым хранилищем и блокировщиком рекламы. DNS-320L — слабый NAS 2013 года (Marvell ARMv5, 128 МБ ОЗУ), но с OpenWRT он может:
✔ Работать как роутер / VPN-шлюз
✔ Запускать Pi-hole (блокировка рекламы)
✔ Быть сетевым хранилищем (Samba/NFS)
✔ Использоваться для IoT-проектов Альтернативы: Я выбрал апгрейд за $0! КомпонентОписаниеD-Link DNS-320LARMv5 800 МГц, 128 МБ ОЗУФлешка 8+ ГБДля установки OpenWRTTTL-USB адаптерДля консольного доступа (CH340G)PuTTY / screenДля подключения по UARTOpenWRT 23.05Последняя версия для Kirkwood setenv bootargs "console=ttyS0,115200 root=/dev/ram0"
saveenv
reset
Теперь NAS загрузит временную систему. wget https://downloads.openwrt.org/releases/23.05.0/targets/kirkwood/generic/openwrt-23.05.0-kirkwood-dlink_dns-320l-squashfs-sysupgrade.bin
tftpboot 0x800000 openwrt-23.05.0-kirkwood-dlink_
Оглавление

В 2025 году даже устаревшие NAS можно дать вторую жизнь. В этой статье я расскажу, как прошил свой D-Link DNS-320L OpenWRT, превратив его в полноценный Linux-сервер с VPN, сетевым хранилищем и блокировщиком рекламы.

1. Зачем это нужно?

DNS-320L — слабый NAS 2013 года (Marvell ARMv5, 128 МБ ОЗУ), но с OpenWRT он может:
✔ Работать как
роутер / VPN-шлюз
✔ Запускать
Pi-hole (блокировка рекламы)
✔ Быть
сетевым хранилищем (Samba/NFS)
✔ Использоваться для
IoT-проектов

Альтернативы:

  • Выбросить и купить новый роутер (дорого).
  • Оставить на старом ПО (уязвимо и медленно).

Я выбрал апгрейд за $0!

2. Что понадобилось?

КомпонентОписаниеD-Link DNS-320LARMv5 800 МГц, 128 МБ ОЗУФлешка 8+ ГБДля установки OpenWRTTTL-USB адаптерДля консольного доступа (CH340G)PuTTY / screenДля подключения по UARTOpenWRT 23.05Последняя версия для Kirkwood

3. Подготовка к прошивке

3.1. Открываем доступ к UART

  1. Разбираем NAS (4 винта под резиновыми ножками).
  2. Находим 4-пиновый разъём UART (рядом с SATA).
  3. Подключаем TTL-USB адаптер:
    GND → GND
    RX → TX (NAS)
    TX → RX (NAS)
  4. Настраиваем PuTTY:
    Скорость:
    115200 бод
    Порт: COMX (где X — номер вашего адаптера)

3.2. Загрузка в Recovery Mode

  1. Включаем NAS, в PuTTY видим загрузку U-Boot.
  2. Прерываем загрузку (нажать любую клавишу).
  3. Вводим команду:

setenv bootargs "console=ttyS0,115200 root=/dev/ram0"
saveenv
reset
Теперь NAS загрузит
временную систему.

4. Установка OpenWRT

4.1. Подготовка флешки

  1. Качаем прошивку:

wget https://downloads.openwrt.org/releases/23.05.0/targets/kirkwood/generic/openwrt-23.05.0-kirkwood-dlink_dns-320l-squashfs-sysupgrade.bin

  1. Записываем на флешку (FAT32).

4.2. Прошивка через TFTP

  1. Подключаем флешку к NAS.
  2. В U-Boot вводим:

tftpboot 0x800000 openwrt-23.05.0-kirkwood-dlink_dns-320l-squashfs-sysupgrade.bin
nand erase 0x200000 0x7C00000
nand write 0x800000 0x200000 ${filesize}
reset

4.3. Первый запуск OpenWRT

  1. После перезагрузки OpenWRT запустится без интерфейса LAN.
  2. Подключаемся по Wi-Fi (если есть адаптер) или настраиваем сеть вручную:

uci set network.lan.ipaddr=192.168.1.1
uci commit
/etc/init.d/network restart

  1. Открываем веб-интерфейс: http://192.168.1.1.

5. Настройка функционала

5.1. Восстановление работы дисков

  1. Ставим драйверы SATA:

opkg install kmod-ata-marvell-sata kmod-fs-ext4

  1. Монтируем диски:

mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1

5.2. Установка Pi-hole

  1. Меняем DNS в OpenWRT:

uci set dhcp.@dnsmasq[0].noresolv=1
uci add_list dhcp.@dnsmasq[0].server="127.0.0.1#5053"
uci commit

  1. Запускаем Pi-hole в Docker (если хватает памяти) или ставим напрямую

curl -sSL https://install.pi-hole.net | bash

5.3. VPN (WireGuard)

  1. Устанавливаем:

opkg install wireguard-tools

  1. Генерируем ключи:

wg genkey | tee privatekey | wg pubkey > publickey

  1. Настраиваем конфиг (/etc/wireguard/wg0.conf):iniCopy[Interface]
    PrivateKey = <ваш_приватный_ключ>
    Address = 10.0.0.1/24
    ListenPort = 51820

    [Peer]
    PublicKey = <публичный_ключ_клиента>
    AllowedIPs = 10.0.0.2/32

6. Проблемы и их решение

6.1. Мало оперативной памяти

  • Решение: Отключить ненужные сервисы (/etc/init.d/сервис stop).

6.2. Медленная работа дисков

  • Решение: Использовать ext4 вместо btrfs/zfs.

6.3. Сброс прошивки

  • Решение: Прописать bootcmd в U-Boot:bashCopysetenv bootcmd "nand read 0x800000 0x200000 0x7C00000; bootm 0x800000"
    saveenv

7. Итог

Теперь мой DNS-320L умеет:
✅ Блокировать рекламу (
Pi-hole)
✅ Работать как
VPN-шлюз
✅ Быть
сетевым хранилищем
✅ Запускать
Tor-ноду

Стоило ли оно того?
Да, если есть время и желание ковыряться.
Нет, если нужен мощный NAS (лучше купить Raspberry Pi 5).

Попробуйте и вы! 🚀