November 8

Выборочная маршрутизация на роутерах "Keenetic"

Давно надо было написать, но сегодня наконец собрал оптимальный алгоритм.

Итак, вам понадобиться:

I. Роутер фирмы Keenetic (а может быть даже Netcraze) c версией прошивки больше или равной 4.2.

II. Вот этот текст из сообщения "Список роутинга" сохранить в виде текстового файла.

III. VPS-сервер или просто конфиг от AmneziaWG.

Поехали.

Приложение Amnezia VPN

Необходимо получить файл конфигурации VPN для протокола AmneziaWG, но не для приложения AmneziaVPN, а для оригинального формата AmneziaWG.

Роутер Keenetic

Необходимо:

1. Обновить прошивку.

2. Проверить, что установлен клиент VPN для протокола Wireguard. Если не установлен, то доустановить его.

3. Используя файл конфигурации, установить данный VPN на роутер. Не забыть поставить галочку "Использовать для выхода в Интернет". Добавить профиль соединения, куда добавить соединения с этим VPN. Если не знаете, как это делать, почитайте вот эту страничку на официальном сайте Keenetic.

4. Открываем файл конфигурации VPN в любом текстовом формате.
Нам из него понадобятся вот это строчки:

Jc = 4
Jmin = 50
Jmax = 1000
S1 = 18
S2 = 82
H1 = 18005218
H2 = 422258465
H3 = 638849812
H4 = 1227747503

5. В web-конфигурации роутера открываем командную строчку.

Вводим команду:

show interface

и нажмите кнопку "Отправить запрос".

Копируем ответ в любой текстовый редактор.

6. Теперь нужно узнать имя нужного интерфейса по названию созданного ранее подключения. Для этого откройте поиск (это можно сделать, одновременно нажав две клавиши Ctrl+F). Введите для поиска название созданного ранее подключения. В данном примере это VPN. Должно быть найдено одно уникальное название в поле "description". А рядом с ним будет находиться другое поле "interface-name", в котором отображается имя нужного интерфейса. В данном примере это Wireguard0 (цитата из аналогичного руководства на сайте Amnezia).

"Wireguard0": {
			"id": "Wireguard0",
			"index": 0,
			"interface-name": "Wireguard0",
			"type": "Wireguard",
			"description": "VPN",
			"traits": [
				"Ip",
				"Ip6",
				"Wireguard"
			],

7. Используя следующий шаблон, формируем новую команду.

Шаблон:

 interface {name} wireguard asc {jc} {jmin} {jmax} {s1} {s2} {h1} {h2} {h3} {h4}

Где:

- {name} - имя из п.6 (Wireguard0),
- {js}, {jmin} и т.д. значения этих самых js, jmin и т.д. из п.4.

Для нашего примера это будет вот такая команда:

interface Wireguard0 wireguard asc 4 50 1000 18 82 18005218 422258465 638849812 1227747503

8. Копируем эту команду в командную строку и нажмите кнопку "Отправить запрос".

9. Вводим команду:

system configuration save

и нажмите кнопку "Отправить запрос".

10. Переходим в раздел "Сетевые правила -> Маршрутизация".
Там загружаем текстовый файл (см. п.II в начале сообщения). Не забываем указать интерфейс, для которого этот роутинг будет работать (из п.4).

ВСЁ!

В смысле, всё работает.