Настройка WireGuard на роутере с KeeneticOS для чайников
Задача
Настроить роутер Keenetic так, чтобы доступ к ресурсам был у всех устройств в сети, и не приходилось на каждом смартфоне или ноуте ставить клиент WireGuard и запускать конфиг «локально».
Нам понадобится
1. Роутер Keenetic
2. Файл конфигурации WireGuard
3. Bat-файл со списком маршрутов
Файл конфигурации WireGuard
Создаем для роутера файл конфигурации WG, в поле AllowedIP оставляем всё как есть, то есть 0.0.0.0/0
Добавлять маршруты для доступов будем позже в BAT-файл.
Bat-файл с маршрутами
Чтобы не добавлять каждый адрес со своми параметрами вручную в настройки маршрутизации роутера, предварительно создаем bat-файл со списком сетей и их масок.
Готовые файлы с маршрутами можно посмотреть по этой ссылке. Также можно использовать какой-то из готовых файлов для формирования своего файла с маршрутами.
Синтаксис файла следующий:
Если у тебя список адресов изначально формата 8.8.4.0/24 и ты не знаешь, как CIDR записать маской, то можно воспользоваться вот этой табличкой. Нули в конце строки у всех маршрутов одинаковые. То есть конечный файл выглядит вот так:
Создавать и редактировать файл с расширением .bat можно в Блокноте или Visual Studio Code (или другом редакторе).
Настройка роутера
Теперь, когда все файлы подготовлены, переходим к настройке роутера: заходим через браузер в интерфейс по адресу 192.168.1.1 и авторизовываемся.
Проверка наличия компонентов
Для начала нужно проверить, все ли необходимые нам компоненты установлены в нашу KeeneticOS.
Переходим в Управление > Параметры системы и в блоке Обновление и компоненты KeeneticOS жмем Изменить набор компонентов:
В появившемся окне в поле поиска вводим «wireguard» и проверяем, установлен ли этот компонент:
Если компонент не установлен, то ставим галочку в чекбоксе, но пока не сохраняем набор компонентов.
Далее вводим в поиск следующий компонент «dns-over-tls» и, если он тоже не установлен, ставим галочку для установки.
Теперь сохраняем набор компонентов. Роутер произведет обновление системы, добавит выбранные компоненты и перезагрузится. Теперь всё готово к настройке.
Добавление подключения WireGuard
Идем в Интернет > Другие подключения. У нас появился блок Wireguard, в котором надо выбрать Загрузить из файла и выбираем заранее подготовленный файл .conf:
После загрузки в таблице появится наше новое подключение. Пока не активируем, сначала просто жмем на него и проваливаемся в окно настройки подключения. Здесь нам необходимо активировать чек-бокс Использовать для выхода в интернет:
А также задать имя пиру:
Сохраняем настройки, активируем наше подключение. Статус пира должен стать зеленого цвета:
Добавление DNS-over-TLS
Идем в Сетевые правила > Интернет-фильтры, выбираем вкладку Настройка DNS. Жмем на кнопку Добавить сервер:
В появившемся окне выбираем тип сервера DNS-over-TLS, вбиваем адрес и доменное имя TLS, после чего сохраняем:
Я добавил два сервера: 8.8.8.8 dns.google и 1.1.1.1 cloudflare-dns.com, потому что они были указаны в файле моего конфига WireGuard. Как видно, в их карточках иконка замка зеленая и есть пометка DoT:
Также я нашел список серверов, который может пригодиться:
Настройка маршрутизации
Идем в Сетевые правила > Маршрутизация, в разделе Пользовательские маршруты жмем Загрузить из файла:
В появившемся окне в поле Интерфейс выбираем добавленное ранее подключение из файла конфигурации .conf и прикрепляем заранее подготовленный bat-файл с маршрутами:
После успешной загрузки наши маршруты отобрязятся в таблице. Теперь, когда мы задали маршруты, которые будут использовать наш интерфейс WireGuard, нам необходимо задать дефолтный маршрут для всего остального траффика, который будет просто идти через интерфейс провайдера.
Жмем Добавить маршрут и выбираем тип Маршрут по умолчанию, а интерфейс Подлючение Ethernet (IPoe):
Стоит пояснить, что в маршруте по умолчанию я не указывал адрес шлюза, а моему коллеге понадобился этот адрес. Как выяснилось, тут всё зависит от провайдера и настроек подключения к интернету: в моем случае я ввожу логин и пароль, а вот у коллеги надо ввести кучу параматров для подключения, включая адрес шлюза. Но, кстати, у него со второго раза этот адрес прописался сам (магия) в дефолтном маршруте.
Также, если надо будет добавить в маршруты еще парочку, то не обязательно делать это через bat-файл. Можно также нажать Добавить маршрут , в типе маршрута выбрать До узла или До сети, заполнить адрес и маску, в интерфейсеа также выбрать свое добавленное WireGuard подключение и активировать Добавлять автоматически:
На этом действии инструкция заканчивается. В моем случае всё работает так, как мне нужно: все устройства в сети получили доступ к нужным ресурсам.
P.S. В некоторых статьях еще предлагают добавить свою политику, где меняют местами последовательность подключений, но в моем случае это сломало работу всех приложений на смартфоне. То есть, когда в приоритете инерфейс Wireguard, работают только те ресурсы, к которым прописаны маршруты, а остальное просто не видит подключение к интернету. Так что я удалил свою политику, оставил дефолтную, в которой сначала идет интерфейс провайдера, а после уже добавленный мной интерфейс WireGuard. И в таком конфиге всё работает как надо.
Это поможет обойти замедление youtube?
Конечно поможет, но конкретно то, что написано в статье - это про дружбу WG и Кинетика. Что касается замедления ютуба, нужно смотреть инфу по настройки WG, сервера и тд, либо искать готовые решения (которые нельзя называть) и пользоваться по подписке.
У меня проблема с голосовой связью вацаап и телеги (частые переподключения, при этом меня слышат)