Введение
В данной заметке разберем, как настроить на роутере OpenWRT WireGuard клиент.
В данном примере я буду использовать роутер Mi Router 4C с прошивкой OpenWRT 23.05.4 и установленной Luci, который будет подключен к основному роутеру от провайдера LAN в LAN, на нем я отключил DHCP и поменял его IP на 192.168.1.222, я хочу, чтобы весь трафик шел через WireGuard тоннель на этом роутере..
Данная инструкция подразумевает, что у вас базово настроен роутер, имеется интернет и конфиг клиента WireGuard.
Также вы можете обратиться за помощью в настройке OpenWRT под ваши нужды.

Настройка WireGuard клиента на OpenWRT роутере
1. Переходим в System-Software и обновляем список пакетов из репозитория, нажав на кнопку Update lists:

2. В поле Filter пишем Wireguard, ставим пакеты ниже и перезагружаемся:
wireguard-tools
luci-proto-wireguard

3. Переходим в Network — Interfaces и нажимаем на Add new interface со следующим содержимым жмем Create interface:
- Name — wg0
- Protocol — WireGuard VPN

4. Далее нам понадобится рабочий конфиг для WireGuard клиента, жмем в поле Import configuration на кнопку Load configuration и вставляем содержимое конфигурации клиента (открываем его с помощью блокнота и копируем содержимое) и нажимаем Import settings:



5. Переходим в секцию Peers и нажимаем на Edit у нашего конфига в Imported peer configuration, тут нас интересует чекбокс Route Allowed IPs, при установке которого весь трафик будет заворачиваться через туннель WireGuard. (так как в Allowed IPs выставлено 0.0.0.0/0) и жмем Save — Save — Save & Apply


6. Переходим в Network — Firewall листаем в низ до Zones и жмем Add, заполняем и сохраняем:
- Name — wg0
- Input — reject
- Output — accept
- Forward — reject
- Masquerading — ставим чекбокс
- MSS clamping — ставим чекбокс
- Covered networks — wg0
- Allow forward from source zones — lan



Жмем Save — Save & Apply и перезагружаем наш роутер System — Reboot — Perform reboot
7. Заходим в Network — Diagnostics и жмакаем IPv4 Traceroute что бы проверить что трафик у нас выходит через тоннель WireGuard:

Готово, теперь локальная сеть и Wi-Fi идут через тоннель WireGuard, достаточно поменять шлюз у клиентов локальной сети вместо основного 192.168.1.1 на 192.168.1.222.
Заключение
В данной заметке разобрали как настроить WireGuard клиент на роутере OpenWRT.
Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)
Так же вы можете отблагодарить автора материально:

Спасибо за статью.
Хотелось бы увидеть развитие этой статьи в котором будет показано, как настроить wireguard на openwrt так, что бы только часть доменов(допустим только заблокированные) попадали на wireguard, а остальной трафик шел бы на lan/wan.
Добавить нужные посети в конфиг wg
Или воспользоваться статьей и скриптом от itdog — itdog https://itdog.info/tochechnaya-marshrutizaciya-po-domenam-na-routere-s-openwrt/
Огромное спасибо за статью, всё завелось с первого раза, только в конце не очень понял, для чего «поменять шлюз у клиентов локальной сети вместо основного 192.168.1.1 на 192.168.1.222»?
Рад что пригодилось)
В начале я написал, роутер на котором производилась настройка стоял у меня вторым роутером, у провайдерского роутера у меня 192.168.1.1, у того что с Openwrt 192.168.1.222
Провайдер начал блокировать протокол WG, отправка пакетов идет, получение нет(
Несколько дней всего успел порадоваться.. Есть ли способы обойти блок на openWRT?
Смотря какой роутер, а так да, можно воспользоваться vless, shadowsocks, можно попробовать amnezia wg
Для OpenWrt есть клиент от AmneziaWG, в .т.ч. с модулем ядра.
Здравствуйте, как можно написать вам в тг?
Здравствуйте. Хотел бы обратиться за помощью по настройке роутера xiaomi 4a gigabit edition. Как с Вами связаться?
Здравствуйте!
> luci-proto-wireguard
Данный пакет автоматом подтянет wireguard-tools
после установки этих пакетов необходимо рестартануть роутер, в противном случае интерфейс wg0 не появится
> Input – teject => Input – reject
по поиску найдете косяк
При переводе бонуса в размере 100 руб., яндекс хочет комиссию еще 100 руб. — обычно никаких комиссий нет; 100% комиссии это дофига, жду ссыль на почту — переведу бонус, пусть 200 руб. уйдет автору, но за комиссию платить чревато..
Приветствую, Александр
Благодарю, поправил ошибку)
Приветствую))) сделал все как написано, работает! НО, если выключить роутер из розетки на какое то время то после включения просто нет интернета вообще никак пока не отключить интерфейс wg0 ну где WG установлен, если его удалить создать по новой то трафик идет напрямую… приходится сбрасывать роутер до заводских и по новой это все проделывать(((( Есть какое то решение?
Приветствую
Не сталкивался с таким, без настроек и логов сказать тяжело