4.5 KiB
TrueNAS — Домашний NAS
Основное
| Параметр | Значение |
|---|---|
| Версия | TrueNAS SCALE 24.10 |
| Web UI | https://mallexxx.duckdns.org |
| Web UI (IP) | http://90.189.160.148 |
| SSH | truenas_admin@mallexxx.duckdns.org |
| SSH (IP) | truenas_admin@90.189.160.148 |
| SSH-ключ | ~/.ssh/id_rsa |
| Сеть | 192.168.2.0/24 (через OpenWrt) |
⚠️ Eagle и Kraken — в 192.168.1.x, это другая сеть. Прямой доступ по 192.168.2.197 с них не работает. Для SSH/API с Eagle и Kraken используйте только
mallexxx.duckdns.org.📝 Наблюдение 2026-07-31:
ssh truenas_admin@192.168.2.197сработал с Mac Кита (Кит) в ходе диагностики SATA-карты (по явной просьбе Alex). Т.е. локальный IP может работать, но это не гарантировано — при неудаче откатываться наmallexxx.duckdns.org.
Подключение
ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org
OpenWrt — доступ с TrueNAS
SSH на роутер:
# через docker-контейнер с sshpass
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "команда"'
Проверка правил форвардинга портов:
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci show firewall | grep redirect"'
Добавление правила порт-форвардинга:
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci add firewall redirect && uci set firewall.@redirect[-1].name=ИМЯ && uci set firewall.@redirect[-1].proto=tcpudp && uci set firewall.@redirect[-1].src=wan && uci set firewall.@redirect[-1].src_dport=ПОРТ && uci set firewall.@redirect[-1].dest=lan && uci set firewall.@redirect[-1].dest_ip=192.168.2.197 && uci set firewall.@redirect[-1].dest_port=ПОРТ && uci set firewall.@redirect[-1].target=DNAT && uci commit firewall && /etc/init.d/firewall reload"'
Пароль root: 1316261
💡 Бэкап firewall OpenWrt перед любой правкой redirect-правил (вошло в практику 2026-09-01):
# с TrueNAS: сохранить весь firewall-конфиг OpenWrt в backup-папку TrueNAS docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci show firewall"' # → сохранить вывод в /mnt/RED_2TB/docker/backups/openwrt-firewall-YYYYMMDD-HHMMSS.txt # Пример сделанного: /mnt/RED_2TB/docker/backups/openwrt-firewall-20260901-130558.txtСуществующие redirect-правила OpenWrt → TrueNAS(192.168.2.197): MQTT 1883, SSH 22, caddy_http 80→8088, caddy_https 443→8443, HomeAssistant 8123 (disabled).
Пул и датасеты
Пул: RED_2TB (ZFS) Точка монтирования: /mnt/RED_2TB/
| Датасет | Путь | Назначение |
|---|---|---|
| storage/ | /mnt/RED_2TB/storage/ | Общее хранилище |
| backup/ | /mnt/RED_2TB/backup/ | Резервные копии |
| Photos/ | /mnt/RED_2TB/Photos/ | Фотографии |
| TimeMachine/ | /mnt/RED_2TB/TimeMachine/ | Бэкапы macOS |
| Edu/ | /mnt/RED_2TB/Edu/ | Учебные материалы |
| storage/git/ | /mnt/RED_2TB/storage/git/ | Git-репозитории |
⚠️ Важно: boot-pool не выживает после обновления
/home и /root находятся на boot-pool и стираются при обновлении TrueNAS.
Всё важное (конфиги, ключи, скрипты) должно лежать в /mnt/RED_2TB/, а не в /home/truenas_admin/ или /root/.
Типичные жертвы:
- SSH authorized_keys в /home
- Cron jobs, написанные в /etc
- Любые файлы вне /mnt/RED_2TB/