Настройка ZeroTier на Entware (Keenetic OS)

Настройка ZeroTier на Entware (Keenetic OS)

Taras Panchyshyn (@tarasifua)

Приветствую! В данной статье я вкратце расскажу о установке ZeroTier на роутеры с Entware. Постараюсь рассказать более-менее подробно, но некоторые моменты буду пропускать, подразумевая что для них инструкция не нужна или оны уже сделаны 😀. Подразумеваем, что Entware у вас уже установлен.

Итак, приступим:

  1. Подключаемся к Entware по ssh:
ssh root@my.keenetic.net -p 222

Если не меняли ничего, то по умолчанию пароль keenetic (на Keenetic OS).

2. По очереди вводим команды:

opkg update
opkg upgrade
opkg install zerotier

ZeroTier установлен, настраиваем.

3. Запускаем ZeroTier:

zerotier-one -d

Подключаемся к своей сети. Если ее еще нет, регистрируемся на https://my.zerotier.com и создаем ее.

zerotier-cli join <your network id>

<your network id> - 12-значный (вроде) ID вашей сети, что-то типа `9afac5978a18fe8`

Проверяем:

zerotier-cli info

Если получаем статус 200 и надпись ONLINE, значит все хорошо.

4. Идем на https://my.zerotier.com/network, открываем свою сеть и настраиваем приблизительно как-то так:

а) В разделе IPv4 Auto-Assign жмем Advanced и пишем в Range Start 172.28.28.1 и в Range End 172.28.28.254. Во вкладке Easy можно посмотреть возможные диапазоны адресов и использовать что-то из них, если по каким-то причинам вам не подходит этот диапазон. Должно получиться как-то так:

б) В разделе Managed Routes прописываем как на скриншоте. Тут 172.28.28.1 - адрес нашего роутера, 172.28.28.0/24 - наша подсеть ZeroTier, которую мы определили диапазоном адресов выше, 192.168.1.0/24 - домашняя локальная сеть.


в) В разделе Members у нас должен появиться наш роутер:

Авторизируем его (ставим галочку), можем вписать ему имя и описание, полезно, если будет много устройств, чтобы знать что есть что. Роутер автоматом получит какой-то IP из выбранного нами диапазона. Жмем на корзинку и удаляем его, затем пишем наш 172.28.28.1 и жмем "+". IP-адрес должен присвоиться роутеру. В дальнейшем он будет получать именно этот IP. Для других устройств ничего менять не надо. Должно получиться как на скриншоте выше.

5. Делаем скрипт запуска ZeroTier при включении роутера. Заходим по адресу /opt/etc/init.d/, это можно сделать через компьютер, предварительно расшарить диск через CIFS/SMB. Создаем там файл с названием "S90zerotier-one" (без расширения) со следующим содержимым:


#! /bin/sh

case "$1" in
  start)
    if ( pidof zerotier-one )
    then echo "ZeroTier-One is already running."
    else
        echo "Starting ZeroTier-One" ;
        /opt/bin/zerotier-one -d ;
        echo "$(date) Started ZeroTier-One" >> /opt/var/log/zerotier-one.log ;
    fi
    ;;
  stop)
    if ( pidof zerotier-one )
    then
        echo "Stopping ZeroTier-One";
        killall zerotier-one
        echo "$(date) Stopped ZeroTier-One" >> /opt/var/log/zerotier-one.log
    else
        echo "ZeroTier-One was not running" ;
    fi
    ;;
  status)
    if ( pidof zerotier-one )
    then echo "ZeroTier-One is running."
    else echo "ZeroTier-One is NOT running"
    fi
    ;;
  *)
    echo "Usage: /etc/init.d/zerotier-one {start|stop|status}"
    exit 1
    ;;
esac
exit 0


И даем файлу права на исполнение. Для этого выполняем команду:

chmod +x /opt/etc/init.d/S90zerotier-one


С настройкой ZeroTier закончено, осталось только настроить маршрутизацию на роутере.

5. Устанавливаем iptables;

opkg install iptables

6. Заходим на наш роутер по адресу /opt/etc/ndm/netfilter.d/. Создаем там файл с названием "001zerotier-rules.sh" со следующим содержимым:


#!/bin/sh
[ "$table" != "filter" ] && exit 0
iptables -I INPUT -i zt+ -j ACCEPT
iptables -t nat -A POSTROUTING -o eth2.4 -j MASQUERADE
iptables -I FORWARD -i zt+ -j ACCEPT
iptables -t nat -I POSTROUTING -o br0 -j MASQUERADE


Где eth2.4 - внешний интерфейс роутера.

Даем файлу права на исполнение. Для этого выполняем команду:

chmod +x /opt/etc/ndm/netfilter.d/001zerotier-rules.sh

Все, настройка закончена. Можно установить Zerotier на телефон, к примеру.

Подключаемся к своей сети, не забываем поставить галочку Auth на https://my.zerotier.com/ для новых устройств. Подключаемся к сети, заходим в любой файл-менеджер, подключаемся по SMB к 192.169.1.1 и получаем доступ к своему диску.

Если зайти в настройки сети и включить галочку "Enable Default Route", весь интернет-трафик с телефона пойдет через наш роутер и мы сможем ходить по интернету с нашим "домашним" IP. Если на роутере стоит блокировка рекламы, к примеру, она должна блокироваться и при подключении таким способом.

На этом все.


Report Page