TrueNAS Port: Настройка портов, проброс, безопасность | Гайд 2024 | AdminWiki

TrueNAS Port: Полное руководство по настройке портов и сетевых служб

04 февраля 2026 8 мин. чтения #docker #firewall #jail #nmap #truenas #безопасность #настройка портов #порт #проброс портов #сетевые службы

Представь, что ты развернул мощный TrueNAS сервер, но твои службы — SMB, NFS, веб-интерфейс или собственные контейнеры — недоступны из сети. Проблема в 90% случаев кроется в неправильной настройке портов. Давай разберем, что такое порт в контексте TrueNAS, как его правильно настроить, открыть для внешнего доступа и защитить от несанкционированного проникновения. Это must-know материал для любого сисадмина или DevOps-инженера, работающего с NAS-системами.

Что такое порт в TrueNAS и зачем он нужен?

Порт — это виртуальная «дверь» на сетевом интерфейсе твоего TrueNAS сервера, через которую происходит обмен данными по конкретному протоколу. Каждая сетевая служба «слушает» определенный порт:

  • Веб-интерфейс (UI): по умолчанию использует порт 80 (HTTP) и/или 443 (HTTPS).
  • SMB/CIFS (общие папки Windows): порты 139 и 445.
  • NFS: порт 2049.
  • SSH: порт 22.
  • iSCSI: порт 3260.

Правильная настройка портов — это основа доступности и безопасности твоих данных.

Важно: TrueNAS Scale (на базе Linux) и TrueNAS Core (на базе FreeBSD) имеют некоторые различия в сетевом стеке и инструментах управления, но концепция портов едина.

Базовые настройки сетевых портов в веб-интерфейсе

Большинство стандартных настроек портов выполняется через интуитивный веб-интерфейс TrueNAS.

1. Настройка портов сетевых служб

Перейди в System Settings → Services. Здесь ты увидишь список всех системных служб. Нажми на значок карандаша напротив нужной службы, чтобы изменить её параметры, включая порт.

Пример: Изменение порта SSH
# Куда смотреть в веб-интерфейсе:
# Служба: SSH
# Поле: "TCP Port"
# Значение по умолчанию: 22
# Новое значение (например): 2222

# После изменения в UI, служба перезапустится автоматически.
# Проверить можно командой из шелла:
sockstat -l4 | grep ssh
# или (на Scale)
ss -tlnp | grep :2222

2. Настройка порта веб-интерфейса

Это критически важная настройка. Находится в System Settings → General → GUI.

  • Web Interface IPv4 Address: Выбери, на каком IP слушать (0.0.0.0 для всех).
  • Web Interface Port: Порт HTTP (по умолчанию 80).
  • HTTPS Port: Порт HTTPS (по умолчанию 443). Рекомендуется использовать только HTTPS!
Внимание! После изменения порта веб-интерфейса тебе нужно будет заново подключиться к серверу, указав новый порт в адресной строке браузера: https://truenas-ip:НОВЫЙ_ПОРТ.

Продвинутое управление портами: CLI и контейнеры

Для кастомных приложений в TrueNAS Scale (Docker) или Jail в Core потребуется работа через командную строку и понимание сетевых пространств имен.

Проброс портов для приложений (TrueNAS Scale)

При развертывании приложения через официальный каталог или вручную, настройка портов происходит в разделе Apps → Настройка приложения.

Пример: Конфиг портов для контейнера Nextcloud
# В разделе "Container Configuration" приложения ищем "Port Forwarding"
# Добавляем порты:
- containerPort: 80
  hostPort: 8080   # Nextcloud будет доступен на HOST_IP:8080
  protocol: TCP
  name: nextcloud-http

- containerPort: 443
  hostPort: 4443
  protocol: TCP
  name: nextcloud-https

# Важно: Если hostPort не указан, система назначит случайный порт.

Ручная настройка через CLI (Метод для экспертов)

Иногда нужно временно открыть порт или проверить, что слушает система.

Команды для мониторинга открытых портов
# TrueNAS SCALE (Linux)
sudo ss -tulpn | grep LISTEN
# Ключи: -t (TCP), -u (UDP), -l (listen), -n (numeric), -p (process)

# TrueNAS CORE (FreeBSD)
sockstat -l4   # Для IPv4
sockstat -l6   # Для IPv6

# Универсальная проверка с помощью netstat (может потребовать установки)
sudo netstat -tulnp
Пример: Проверка, кто занял порт 8080
sudo lsof -i :8080
# Вывод покажет PID и имя процесса, использующего порт.

Безопасность портов: Firewall и Best Practices

Открытый порт — это потенциальная точка входа для атакующего. Следуй этим правилам:

Правило Описание Пример
Минимизация открытых портов Отключай неиспользуемые службы в System → Services. Если не используешь FTP, отключи его.
Смена портов по умолчанию Меняй стандартные порты для SSH, WebUI, чтобы избежать сканирования ботнетами. SSH с 22 на 2222 или 49222.
Использование VPN Не открывай порты веб-интерфейса или SMB напрямую в интернет. Используй WireGuard или OpenVPN. Доступ к UI только из внутренней сети или через VPN.
Настройка брандмауэра на маршрутизаторе Пробрасывай порты только на нужный внутренний IP и только для необходимых протоколов. Проброс TCP 4443 с WAN только на IP TrueNAS.

Встроенный брандмауэр (TrueNAS CORE — IPFW)

В CORE есть мощный брандмауэр на базе IPFW. Настройки находятся в Network → Firewall. Будь осторожен, неправильное правило может заблокировать тебя от сервера!

Пример простого правила IPFW (через CLI)
# Разрешить SSH только с определенной подсети (например, 192.168.1.0/24)
ipfw add 01000 allow tcp from 192.168.1.0/24 to any 22 in

# Запретить все входящие подключения к порту 80 (HTTP)
ipfw add 02000 deny tcp from any to any 80 in

# Показать текущие правила
ipfw list

Диагностика проблем с портами

Если служба не отвечает, используй этот чек-лист:

  1. Слушает ли служба порт? Выполни ss -tlnp | grep :PORT на самом TrueNAS.
  2. Работает ли локально? Попробуй подключиться с самого сервера: curl -v http://localhost:PORT или telnet localhost PORT.
  3. Блокирует ли брандмауэр? Проверь правила на TrueNAS (если включен) и на маршрутизаторе.
  4. Доступен ли порт из сети? Используй nmap с другого компьютера в той же сети: nmap -p PORT IP_TRUENAS.
  5. Правильно ли настроен проброс? Если доступ из интернета, проверь настройки NAT/PAT на роутере.
Пример диагностики с nmap
# Установи nmap, если его нет (на клиентской машине)
# Проверка нескольких ключевых портов TrueNAS
nmap -p 22,80,443,139,445,2049 192.168.1.100

# Результат покажет STATE: "open", "closed" или "filtered".
# "Filtered" обычно означает, что трафик блокируется брандмауэром.

Часто задаваемые вопросы (FAQ)

Какой порт использует веб-интерфейс TrueNAS по умолчанию?

По умолчанию веб-интерфейс использует порт 80 для HTTP и порт 443 для HTTPS. Настоятельно рекомендуется отключить HTTP и использовать исключительно HTTPS на порту 443 для шифрования трафика и безопасности учетных данных.

Можно ли изменить порт SSH в TrueNAS?

Да, абсолютно. Зайди в System Settings → Services, найди службу SSH, нажми на иконку редактирования и измени значение в поле "TCP Port". Не забудь добавить новое правило в брандмауэр маршрутизатора, если нужен доступ извне, и обновить конфигурацию клиентов SSH.

Почему мой кастомный порт для приложения не открывается?

Наиболее частые причины:

  • Конфликт портов: Порт уже занят другой службой. Проверь командой ss -tulpn.
  • Неправильная настройка приложения: Убедись, что в конфигурации контейнера или виртуальной машины правильно указаны hostPort и containerPort.
  • Ограничения сетевого драйвера: В TrueNAS Scale для Apps по умолчанию используется изолированная сеть ix-default. Убедись, что для приложения выбран правильный сетевой интерфейс или настроен проброс портов.
  • Брандмауэр хоста: На TrueNAS Scale по умолчанию может быть активен ufw или firewalld. Проверь их статус.

Как безопасно открыть порты для доступа из интернета?

Никогда не открывай порты веб-интерфейса (80, 443) или служб общих папок (139, 445, 2049) напрямую в интернет. Единственный относительно безопасный способ — использовать обратный прокси-сервер (например, Nginx Proxy Manager в виде приложения TrueNAS) с обязательным использованием:

  1. HTTPS с валидными сертификатами (Let's Encrypt).
  2. Аутентификации на уровне прокси (Basic Auth, OAuth).
  3. Гео-фильтрации или ограничения по IP-адресам, если возможно.
  4. Идеальный вариант — доступ только через VPN (WireGuard).

В чем разница между hostPort и containerPort в настройках приложений?

Это ключевое понятие для Docker/TrueNAS Scale:

  • containerPort: Порт, который слушает приложение внутри контейнера. Определяется образом приложения (например, веб-сервер слушает на 80).
  • hostPort: Порт на хостовой системе (твоем сервере TrueNAS), на который будет пробрасываться трафик с containerPort. По этому порту ты будешь обращаться к приложению из своей сети.

Пример: containerPort: 80, hostPort: 8080 означает, что приложение в контейнере работает на порту 80, но снаружи ты подключишься к нему по http://truenas-ip:8080.

Заключение

Управление портами в TrueNAS — это баланс между удобством доступа к данным и службами и железобетонной безопасностью. Начни с настройки через веб-интерфейс для базовых служб, всегда меняй порты по умолчанию для критических сервисов (SSH, UI) и используй VPN для удаленного доступа. Для кастомных приложений тщательно проверяй настройки проброса портов и мониторь открытые сокеты с помощью ss или lsof. Помни: каждый открытый порт — это потенциальный вектор атаки, поэтому принцип минимальных привилегий должен быть твоим главным правилом.

Освоив эти практики, ты превратишь свой TrueNAS из простого файлового хранилища в надежную и контролируемую платформу для любых сетевых служб.

Поделиться:
Сохранить гайд? В закладки браузера