Home

Awesome

Данный проект позволяет перенаправлять трафик для отдельных ресурсов в VPN-туннель на роутерах Keenetic с использованием репозитория Entware.

Установка

Для загрузки и работы установочного скрипта требуется curl. При отсутствии — установить командой:

opkg install curl

Для начала процесса установки выполните команду:

curl -sfL https://raw.githubusercontent.com/rustrict/keenetic-traffic-via-vpn/main/install.sh | sh

Установщик создаст каталог /opt/etc/unblock (если такой не существует) и поместит в него необходимые файлы. Также будут созданы два симлинка для отслеживания состояния VPN-туннеля и автоматического обновления маршрутов раз в сутки. Для работы скрипта parser.sh требуются bind-dig, cron и grep — они будут установлены при отсутствии.

После окончания установки понадобится:

Примеры заполнения config

Для OpenVPN-туннеля:

# Название интерфейса VPN-туннеля из ifconfig или ip address show
IFACE="ovpn_br0"

# Расположение файла с адресами и доменами
FILE="/opt/etc/unblock/unblock-list.txt"

Для WireGuard-туннеля:

# Название интерфейса VPN-туннеля из ifconfig или ip address show
IFACE="nwg0"

# Расположение файла с адресами и доменами
FILE="/opt/etc/unblock/unblock-list.txt"

Пример заполнения unblock-list.txt

example.com
1.1.1.1
93.184.220.0/24

Замечание

Учтите, что по умолчанию трафик перенаправляется только для устройств из сегмента «Домашняя сеть» (Bridge0). При попытке доступа непосредственно с роутера, трафик не отправится в VPN-туннель. Если вас это не устраивает, последовательно выполните следующие три команды:

ip rule del priority 1995 2>/dev/null
ip rule add table 1000 priority 1995
sed -i 's/iif br0 //' /opt/etc/unblock/start-stop.sh

После этого под перенаправление попадут все устройства, включая сам роутер.

Удаление

Для удаления выполните команду:

/opt/etc/unblock/uninstall.sh

Будут удалены все скаченные и созданные установщиком файлы, а также каталог /opt/etc/unblock, если в нём не окажется ничего постороннего.