Введение
В данной заметке разберем, как настроить на роутере 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 руб. уйдет автору, но за комиссию платить чревато..
Приветствую, Александр
Благодарю, поправил ошибку)