Настройка Tailscale на OpenWrt для проникновения во внутреннюю сеть
{% notel default fa-info 💡 %}
😀 На днях я настроил шлюз с помощью S912 Octopus Planet, опыт был неплохим. Затем я подумал о настройке внутреннего проникновения в сеть, чтобы иметь возможность взаимодействовать с внутренними устройствами в дороге. Ранее друг рекомендовал Tailscale как очень удобный инструмент, отсюда и этот блог.
{% endnotel %}
Установка Tailscale
Я использовал этот проект, читатели могут рассмотреть другие способы развертывания:
https://github.com/adyanth/openwrt-tailscale-enabler
Конкретные команды:
- Подключитесь к OpenWrt через
ssh:
ssh root@<IP>- Загрузите этот проект (версию можно выбрать самостоятельно)
wget <https://github.com/adyanth/openwrt-tailscale-enabler/releases/download/v1.60.0-e428948-autoupdate/openwrt-tailscale-enabler-v1.60.0-e428948-autoupdate.tgz>
-
Распакуйте загруженный проект
tar x -zvC / -f <File Name>

-
Обновите и установите зависимости
opkg updateopkg install libustream-openssl ca-bundle kmod-tun

-
Включите автозапуск
/etc/init.d/tailscale enablels /etc/rc.d/S*tailscale*

-
Запустите Tailscale
/etc/init.d/tailscale starttailscale up

-
Включите маршрутизацию подсети
tailscale up --accept-routes --advertise-routes=192.168.1.0/24 --accept-dns=falseПримечание: формат параметра advertise-routes может отличаться. Проще говоря, возьмите первые три части IP-адреса вашего текущего OpenWrt, последняя часть должна быть 0, а маска подсети 255.255.255.0. То есть
<исходная>.<исходная>.<исходная>.<0>/24. Например, если мой IP OpenWrt — 192.168.1.254, то мне нужно 192.168.1.0/24.

-
В консоли Tailscale установите настройки маршрутизации, отметьте и сохраните.

Настройка OpenWrt
Настройка сетевого интерфейса
В интерфейсе LuCI:
- Добавьте интерфейс
- Перейдите в Сеть > Интерфейсы > Добавить новый интерфейс.
- Имя:
tailscale - Протокол: Статический адрес
- Устройство: выберите
tailscale0 - IPv4-адрес: укажите IP, назначенный маршрутизатору Tailscale (например,
100.x.x.x). - Маска подсети:
255.0.0.0 - Зона брандмауэра: выберите
lan.
- Сохраните и примените изменения.


Добавление правил брандмауэра
В интерфейсе LuCI:
- Перейдите в Сеть > Брандмауэр > Пользовательские правила.
- Добавьте следующий код, чтобы разрешить трафик Tailscale:
iptables -I FORWARD -i tailscale0 -j ACCEPTiptables -I FORWARD -o tailscale0 -j ACCEPTiptables -t nat -I POSTROUTING -o tailscale0 -j MASQUERADE- Сохраните и перезапустите брандмауэр.

Это всё.