Блог о Gentoo и около-линуксовым штукам

9 января 2022 г.

Wireguard 'сервер' в OpenWRT

18:47 Опубликовал Дмитрий Исаенко , Нет комментариев

Сегодня настраиваем Wireguard через luci на OpenWRT чтобы ходить в домашнюю локальную сеть и дальше в интернеты. 

В первую очередь с андроедо-фона, так что на его примере и разберём. OpenWRT у нас версии 21.02.01. На старых (15ых, например) скорее всего беда, так как вряд ли в те времена в ядре была поддержка.
К сути!
Спрева заходим на http://openwrt. Далее "Система" -> Software", жмём "Update lists" и устанавливаем:
* wireguard-tools
* kmod-wireguard
* luci-app-wireguard
* luci-proto-wireguard
* qrencode
И локализацию заодно:
* luci-i18n-wireguard-ru

 

Утанавливаем, перезагружаем.
Заходим в "Сеть" -> "Интерфейсы"

Жмём "Добавить новый интерфейс". Название даём какое-угодно. Wireguard например, или wg.
Протокол выбираем "Wireguard VPN" (у меня эта опция в списке появился после перезагрузки).
"Устройство" − без изменений.
Жмём "Создать интерфейс" и открывается окно изменений-настроек.
В новом окне отмечаем "Запустить при загрузке".
Жмём "Сгенерировать ключ". Поле "Приватный ключ" теперь заполнено
"Порт для входящих соединений" ставим - 51820 (по-умолчанию именно он выделен для wireguard)
"IP-адреса" ставим 192.168.42.1/32 (тут я не особо разбирался почему надо указывать подсеть и почему бы не влепить /24).
"Не создавать маршруты" оставляем пустым.

Переходим в "Дополнительные настройки"
И.. в общем тут всё ок. Хотя я отключил делегирование IPv6 префиксов потому что оно не очень нужно =)

Далее "Настройки межсетевого экрана"
Тут в выпадающем меню объеденяем wireguard и lan в одну зону.

На вкладке "DHCP-сервер" можно отметить (оставить отмеченным?) "Игнорировать интерфейс".
"Настройки IPv6" по прежнему не интересно.
Сохраняем, применяем. Пока здесь всё.

Настроки Firewall

Открываем "Сеть" -> "Межсетевой экран"

Заходим во вкладку "Traffic Rules" (или как она называется, если ставить локализацию.. см. картинку).

Крутим вниз, жмём "добавить"
"Название" -  "WireGuard-Allow-Input" или "Kittens-jumps-over-the-rainbow"
"Протокол" - "UDP"
"Source zone" -  "WAN"
"Зона назначения" - "Устройство (ввод)"
"Порт назначения" - "51820"
"Action" - "ACCEPT"
Сохраняем, применяем


Настройки Android устройства здесь и там

Заходим в "Состояние" -> "WireGuard"
Жмём "Показать/скрыть QR-код". Для этого мы и ставили пакет "qrencode".
Берём телефончик. Ставим Wireguard на андроед. Запускаем, жмём "+" -> "Сканировать QR-код" и.. сканируем!
Вводим название туннеля.
Открываем только что созданную запись и жмём кнопку правки вверху
Вводим адрес в блоке "Интерфейс": 192.168.42.3/32 (или 192.168.42.4 или 192.168.42.254 или ещё какой. Его надо запомнить, чуть позже он нам пригодится)
Переходим к блоку "Пир"
Вводим адрес роутера OpenWRT на котором всё это настраивалось в поле "Конечная точка" и порт 51820.
Например example.com:51820
Жмём на поле "Публичный ключ" чтобы он скопировался.
Жмём сохранить.

Возвращаемся в интерфейс OpenWRT.
Вновь заходим а "Сеть"->"Интерфейсы"
Находм Wireguard в списке
Жмём "Изменить"
Переходим в последнюю вкладку "Узлы (peers)"
Жмём "Добавить узел (peer)"
Вводим "Публичный ключ" который мы скопирвали в телефоне. Сами придумайте как.. Лучше перепечатать. Хуже всего отправить себе письмом.
Отмечаем "Маршрутизировать разрешенные IP-адреса"
Указываем IP адрес в поле "Разрешенные IP-адреса" (тот же, что указан на клиенте в блоке "Интерфейс").
Сохраняем, применяем.

Дальше всё должно работать :)


0 коммент.:

Отправить комментарий