Данный проект позволяет перенаправлять трафик для отдельных ресурсов в 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
— они будут установлены при отсутствии.
После окончания установки понадобится:
- Отредактировать файл
/opt/etc/unblock/config
, указав в переменнойIFACE
название интерфейса VPN, которое можно увидеть в выводе командыip address show
илиifconfig
. Например,ovpn_br0
(=OpenVPN0
) илиnwg0
(=Wireguard0
); - Заполнить файл
/opt/etc/unblock/unblock-list.txt
доменами и (или) IPv4-адресами (как с префиксом, так и без) ресурсов, трафик до которых вы хотите пустить через VPN; - Запустить VPN-соединение (или перезапустить, если оно было запущено до установки).
Для 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"
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
, если в нём не окажется ничего постороннего.