Главная страница » Сеть и сервисы » Tailscale на OpenWrt: доступ к домашней сети через subnet router
Tailscale на OpenWrt: доступ к домашней сети через subnet router
Сеть и сервисы

Tailscale на OpenWrt: доступ к домашней сети через subnet router

13.09.2026 71
Tailscale на OpenWrt: доступ к домашней сети через subnet router

Телефон видит роутер Tailscale, но Home Assistant и NAS недоступны? Разберём три независимых уровня: маршрут, разрешения tailnet и пересылку пакетов в OpenWrt.

Tailscale установился, роутер появился в списке устройств, но домашний NAS с телефона не открывается. Это не противоречие: доступ к самому узлу и доступ к сети за ним — две разные настройки.

Разберём сценарий удалённого доступа к своим домашним сервисам. В примере OpenWrt имеет LAN 192.168.10.0/24, Home Assistant находится на 192.168.10.20:8123, а телефон подключается через мобильную сеть. Эти адреса нужно заменить своими.

203-scheme.png

Что именно делает subnet router

Обычный узел Tailscale доступен по собственному адресу tailnet. Subnet router дополнительно передаёт трафик к устройствам, на которые клиент Tailscale не установлен: NAS, принтеру или локальному серверу.

Для этого должны совпасть три условия: маршрут объявлен и принят, политика tailnet разрешает соединение, firewall OpenWrt пропускает пересылку к целевому устройству. Галочка Online подтверждает только присутствие узла в сети.

Exit node — отдельная функция для направления интернет-трафика клиента. Для доступа к своей LAN объявлять маршрут по умолчанию не требуется. Различия и ограничения описаны в документации subnet routers.

До установки: адреса, версия и способ аварийного входа

Скачайте backup конфигурации OpenWrt и оставьте возможность локального подключения по кабелю. Первую настройку маршрутов удобнее делать дома, а не после отъезда.

Проверьте версию, место и существующие маршруты:

ubus call system board
df -h
ip -4 route

Если дома и в удалённой сети один диапазон 192.168.1.0/24, доступ может уходить не туда. Для первого теста используйте мобильную сеть телефона. Постоянное решение — продуманная адресация без пересечений, а не набор всё более широких маршрутов.

Если на роутере уже используется PBR, учтите его правила отдельно. Материал о раздельной маршрутизации OpenWrt объясняет, почему разные устройства и назначения могут получать разные пути.

Установите пакет и подключите сам роутер

Используйте репозитории своей сборки. В OpenWrt 25.12+ пакетный менеджер — apk, в 24.10 — opkg; в производных прошивках проверьте фактический менеджер. Документация apk описывает современный синтаксис.

Для apk:

apk update
apk add tailscale

Для opkg:

opkg update
opkg install tailscale

Затем:

service tailscale enable
service tailscale start
tailscale up --accept-dns=false
tailscale status

Откройте выданную ссылку авторизации и подключите роутер к своей tailnet. Не публикуйте её в журнале диагностики. Параметр accept-dns=false в этой схеме сохраняет собственную DNS-настройку OpenWrt, чтобы не смешивать запуск туннеля и смену DNS.

Проверьте установленную версию и доступность обновлений. Пакет в конкретной ветке OpenWrt может отставать от upstream; отсутствие ошибок установки не доказывает актуальность версии.

Объявите только нужную домашнюю подсеть

Сначала убедитесь, что Linux forwarding включён:

sysctl net.ipv4.ip_forward

Для работы IPv4 subnet router ожидается значение 1. На обычном OpenWrt-маршрутизаторе пересылка, как правило, уже включена. Если это специальная сборка или устройство в роли точки доступа, настройте постоянное включение forwarding по документации своей системы и повторите проверку после reboot.

На подключённом узле объявите свою подсеть:

tailscale set --advertise-routes=192.168.10.0/24

В панели Tailscale откройте роутер и подтвердите объявленный маршрут. Объявление и одобрение — разные действия. Не путайте их с разрешением доступа: принятый маршрут сообщает, куда отправлять трафик, но не определяет, кому это разрешено.

У клиента тоже должна быть включена работа с subnet routes. В Linux для этого обычно требуется:

sudo tailscale set --accept-routes=true

Эту команду выполняют на Linux-клиенте, а не на домашнем роутере ради объявления его LAN. Порядок включения и одобрения маршрутов приведён в инструкции Tailscale.

Разрешите ровно нужный доступ

Начните с одного назначения: Home Assistant 192.168.10.20, TCP 8123, только для своей административной учётной записи или группы. В политике tailnet добавьте соответствующее разрешение и проверьте существующие широкие правила: точечное правило не отменяет уже разрешённый доступ «ко всему».

В OpenWrt выделите tailscale0 в отдельный unmanaged-интерфейс и отдельную firewall-зону, если ваша пакетная конфигурация ещё не создала нужные объекты. До добавления проверьте текущие интерфейсы и зоны, чтобы не сделать дубликаты.

Сохраните запрет по умолчанию на вход к самому роутеру и на forwarding из этой зоны. Затем создайте отдельное правило пересылки: источник — зона Tailscale, назначение — LAN, адрес 192.168.10.20, TCP-порт 8123, действие Accept. Глобальный forwarding Tailscale → LAN для этого теста не нужен.

LuCI и SSH самого роутера относятся к input, а соединение с сервером за ним — к forward. Поэтому правило доступа к LuCI не открывает автоматически NAS.

Tailscale использует SNAT для subnet routes по умолчанию. Не отключайте его в первой настройке: без SNAT устройствам LAN потребуется обратный маршрут к адресам tailnet. Детали поведения приведены в документации subnet routers.

Проверка с телефона вне домашнего Wi-Fi

Отключите Wi-Fi телефона, включите Tailscale и откройте http://192.168.10.20:8123. Сначала используйте IP: имя nas.lan добавляет ещё один слой DNS-диагностики.

Успешный результат — открывается именно нужный сервис. Ping может быть запрещён отдельно, поэтому не делайте вывод о доступности TCP только по ICMP.

На роутере для диагностики пригодятся:

tailscale status
tailscale netcheck
logread -e tailscale

Также проверьте доступ к Home Assistant из обычной домашней LAN. Если сервис не работает локально, subnet router это не исправит.

Роутер виден, а LAN недоступна: порядок поиска

  1. Маршрут: объявлена верная подсеть и одобрена в панели? Нет ли опечатки в маске?
  2. Клиент: приняты subnet routes? Не совпадает ли удалённая LAN с домашней?
  3. Права tailnet: разрешены этот пользователь, адрес и порт? Нет ли другого профиля входа?
  4. OpenWrt: существует интерфейс tailscale0, включён forwarding, правило относится к правильным зонам?
  5. Целевой сервер: сервис слушает LAN-адрес и разрешает соединения в своём firewall?
  6. Обратный путь: не отключён ли SNAT без соответствующих маршрутов?

Если соединение работает, но медленно, проверьте тип пути: прямое соединение и ретрансляция могут давать разную задержку. Не открывайте LuCI на WAN для «ускорения» — это другой маршрут доступа, который не устраняет причину.

Если IP работает, а имя нет, настройте DNS отдельно. MagicDNS даёт имена узлам tailnet и не превращает автоматически все имена домашнего dnsmasq в доступные удалённому клиенту.

Если хотите пользоваться домашним DNS-фильтром удалённо, сначала настройте и проверьте его в LAN по инструкции AdGuard Home на OpenWrt. Затем отдельно настройте DNS клиента и разрешения к DNS-серверу: объявление subnet route не переключает DNS автоматически.

Что оставить после успешного теста

Расширяйте список разрешённых сервисов по одному. Для домашнего роутера полезно заранее проверить локальные настройки по руководству Routerich AX3000 на OpenWrt, если используется эта модель.

Проверьте автозапуск после перезагрузки, срок действия ключа узла и способ его повторной авторизации. Сохраните локальный способ входа. Итоговая рабочая конфигурация — та, где вы можете объяснить каждый объявленный маршрут и каждое разрешённое направление, а удалённый телефон открывает нужный сервис без публикации панели на WAN.

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
VPN только для выбранных сайтов и устройств в OpenWrt: раздельная маршрутизация трафика
Сеть и сервисы
09.09.2026
VPN только для выбранных сайтов и устройств в OpenWrt: раздельная маршрутизация трафика
Настройка раздельной маршрутизации в OpenWrt: как направить трафик только выбранных устройств или доменов через VPN, оставив остальной интернет напрямую. Три способа:
Routerich AX3000: настройка роутера на OpenWrt, Mesh, TorrServer и сетевое хранилище
Сеть и сервисы
04.09.2026
Routerich AX3000: настройка роутера на OpenWrt, Mesh, TorrServer и сетевое хранилище
Routerich AX3000 с OpenWrt оказался гораздо дружелюбнее, чем можно ожидать от роутера с настолько гибкой прошивкой. Разбираемся с первоначальной настройкой, Mesh,
Nginx Proxy Manager: установка и первоначальная настройка reverse proxy с HTTPS в Docker
Сеть и сервисы
02.09.2026
Nginx Proxy Manager: установка и первоначальная настройка reverse proxy с HTTPS в Docker
Пошаговая установка Nginx Proxy Manager в Docker: настройка reverse proxy, получение SSL-сертификатов Let's Encrypt и проксирование сервисов с HTTPS. Практическое
ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich
Сеть и сервисы
05.09.2026
ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich
Практическая инструкция по установке и настройке ZeroBlock на OpenWrt. Разберём подключение VPN, работу с sing-box, DNS, секциями маршрутизации, автозапуск и базовую
Nginx Proxy Manager: красивый reverse proxy с веб-интерфейсом для вашего умного дома
Сеть и сервисы
31.03.2026
Nginx Proxy Manager: красивый reverse proxy с веб-интерфейсом для вашего умного дома
Пошаговая настройка Nginx Proxy Manager на Raspberry Pi. Красивый веб-интерфейс, SSL от Let's Encrypt и удобный доступ ко всем сервисам умного дома.
WireGuard VPN на одноплатнике: ваш безопасный портал домой
Сеть и сервисы
31.03.2026
WireGuard VPN на одноплатнике: ваш безопасный портал домой
Пошаговое руководство по настройке быстрого и безопасного WireGuard VPN на одноплатнике. Удалённый доступ к домашней сети, умному дому и файлам своими руками.

Войдите в аккаунт, чтобы пользоваться закладками, сообщениями и другими возможностями сайта.