6 подписчиков

Маршрутизация трафика через WARP по спискам IP на keenetic

387 прочитали

Инструкция написана подробно на столько, на сколько я смог, и предназначена для тех кто не знает "как пропатчить KDE2 под FreeBSD"

1. Необходимо получить конфиг Wireguard из сервиса WARP. Для этого можно воспользоваться неофициальным, кроссплатформенным клиентом WARP:

  • Скачиваем клиент под свою платформу https://github.com/ViRb3/wgcf
  • Переходим в директорию в которой лежит скачанный клиент
wgcf register
wgcf generate
Вместо wgcf вы должны использовать имя файла скаченной утилиты, в частности в Windows она называется wgcf.exe. Рядом с утилитой должен появиться файл с конфигом для подключения.

2. Настроить WARP в keenetic с помощью полученного конфига (Wireguard)

  • Открываем админку роутера и переходим в раздел "Интернет" -> "Другие подключения" -> "Добавить подключение" в разделе WIreguard. Если тип этого подключения отсутствует, то необходимо добавить компонент из раздела "Управление" -> "Общие настройки" -> "Добавить компонент"
  • Из раздела конфига [Interface] заполняем как на скрине:
Инструкция написана подробно на столько, на сколько я смог, и предназначена для тех кто не знает "как пропатчить KDE2 под FreeBSD" 1. Необходимо получить конфиг Wireguard из сервиса WARP.
  • Из раздела конфига [Peer]:
Инструкция написана подробно на столько, на сколько я смог, и предназначена для тех кто не знает "как пропатчить KDE2 под FreeBSD" 1. Необходимо получить конфиг Wireguard из сервиса WARP.-2
  • Запускаем созданное подключение:
Инструкция написана подробно на столько, на сколько я смог, и предназначена для тех кто не знает "как пропатчить KDE2 под FreeBSD" 1. Необходимо получить конфиг Wireguard из сервиса WARP.-3

3. Настройка Entware:

  • Форматируем флешку в ext4
для ubuntu:
узнаем имя флешки: sudo fdisk -l
размонтируем флешку: sudo umount /dev/sdb1
форматируем в ext4: sudo mkfs -t ext4 -L FLASH /dev/sdb1
  • Подключите USB-флешку к кинетику
  • На keeneti, c помощью раздела "Управление" -> "Приложения", создаем на флешке папку install
  • Копируем в папку install подготовленный архив установки для своего устройства:
- для Keenetic Peak (KN-2710): http://bin.entware.net/aarch64-k3.10/installer/aarch64-installer.tar.gz
- для Keenetic DSL, LTE, VOX, DSL (KN-2010), DUO (KN-2110): http://bin.entware.net/mipssf-k3.4/installer/mips-installer.tar.gz
- для остальных интернет-центров Keenetic: http://bin.entware.net/mipselsf-k3.4/installer/mipsel-installer.tar.gz
  • Заходим в раздел "Управление" -> "OPKG", ставим галку «Включить», затем выбираем из списка нужный USB-носитель и нажимаем кнопку «Применить».
  • Через 5 мин подключаемся к роутеру с помощью putty по ssh через порт 222(три двойки).
логин: root
пароль: keenetic
  • Меняем пароль:
passwd
  • Обновим список пакетов:
opkg update
  • Установим bird:
opkg install bird1-ipv4

4. Заменим файл конфигурации /opt/etc/bird4.conf содержимым. Не забываем отредактировать конфиг под свои адреса:

  • rm /opt/etc/bird4.conf
  • vi /opt/etc/bird4.conf
log syslog all;
log stderr all;
router id 44.44.44.44; # ВНЕШНИЙ IP ПРОВАЙДЕРА !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function martians()
{
return net ~ [ 100.64.0.0/10+,
169.254.0.0/16+,
172.16.0.0/12+,
192.168.0.0/16+,
10.0.0.0/8+,
127.0.0.0/8+,
224.0.0.0/4+,
240.0.0.0/4+,
0.0.0.0/32-,
0.0.0.0/0{0,7}
];
}
protocol device {
scan time 15;
}
protocol kernel kernel_routes {
scan time 60;
import none;
export all;
kernel table 1000; # kernel routing table number
}
protocol static static_routes {
import all;
}
protocol bgp antifilter {
import filter {
if martians() then reject;
gw = 10.8.0.1; # АДРЕС ШЛЮЗА!!!!!!!!!!!!!!!!!!!!!!!!!!WARP!!!!!!!!!!!!!!!!!!!!!!
accept;
};
export none;
local as 64999; # local default as-number
neighbor 163.172.210.8 as 65432; # ПОСМОТРЕТЬ IP НА САЙТЕ https://antifilter.download/ В РАЗДЕЛЕ "Присоединение по BGP"
multihop;
hold time 240;
}
  • После добавления отредактированного конфига, добавьте скрипт, который будет срабатывать при установке VPN-соединения, он добавлять правило маршрутизации обращений к заблокированным ресурсам через VPN-туннель. В частности, для OpenVPN-соединения отлично подходит:
  • vi /opt/etc/ndm/ifstatechanged.d/010-add_antizapret_route.sh
#!/bin/sh
ip rule add iif br0 table 1000
  • chmod +x /opt/etc/ndm/ifstatechanged.d/010-add_antizapret_route.sh

5. Открываем журнал в разделе "Управление" -> "Диагностика" -> "Показать журнал"

6. Запустите bird и применяем правило роутинга для ресурсов из полученного списка адресов. При перезагрузки роутера это будет происходить автоматически:

  • /opt/etc/init.d/S04bird1-ipv4 start
  • /opt/etc/ndm/ifstatechanged.d/010-add_antizapret_route.sh

7. Снова смотрим журнал. Если в журнале есть ошибки то скорее всего неверно отредактирован файл конфига. Внимательно перечитываем и редактируем снова.

8. Если в журнале ошибок нет, то проверяем полученный список адресов с помощью команды. Если ответ не последовал то смотрим предыдущий пункт:

  • ip route list table 1000

Ресурсы на базе которых писал эту инструкцию:

В эту статью добавлять не буду.