Pull to refresh

Wireguard client+Mwan3 решаем проблемы с синхронизацией времени и переключением интерфейсов Failover

Wireguard тема довольно новая, поэтому многие типовые ответы еще придут а данное решение было проанализировано, оттестировано и принято на вооружение лично мной.

Многое описанное ни для кого уже не секрет, но проблема остается ( из моих многих экспериментов, и много перекуренного материала в интернетах) что Wireguard а далее по тексту буду обзывать его просто WG, очень требователен к более-менее точно времени на клиенте и именно на роутерах с прошивками openwrt. Во всем нижеописанном сабже я благодарен публикациям, supervillain с поста Хабра WireGuard — прекрасный VPN будущего?, а так-же itdog с его статьей отсюда же Точечный обход блокировок PKH на роутере с OpenWrt с помощью WireGuard и DNSCrypt. Эти публикации помогли мне запилить сие интересное решение на моем UniFi AC PRO с прошивкой Openwrt. Дело было сделано. Был настроен VPS сервер с wireguard на борту, настроен роутер с openwrt как клиента wireguard, и далее по порядку.

Настраиваем VPS+ Wireguard Server.

Я думаю что ныне ни для кого не секрет приобретение и первоначальная настройка и безопасность своего облачного сервера ( Если будет интересно готов описать минимум настроек на серверной Ubuntu мои настройки UFW). После всех нужных настроек запускаю:

wget https://raw.githubusercontent.com/l-n-s/wireguard-install/master/wireguard-install.sh -O wireguard-install.sh
bash wireguard-install.sh

Огромное спасибо supervillain с его постом WireGuard — прекрасный VPN будущего?. На этом сервер готов и можно приступать к настройке роутера.

На роутере дабы не развивать тут простыню текста опишу вкратце:

opkg update
opkg install kmod-wireguard
wireguard 
luci-proto-wireguard

Далее если кому-то интересно, состояние wireguard в web интерфейсе можно посмотерть установив пакеты:

luci-app-wireguard
luci-i18n-wireguard-ru

Далее все очень четко описано в статье itdog Точечный обход блокировок PKH на роутере с OpenWrt с помощью WireGuard и DNSCrypt.

И тут возникает проблема в том что мне не нужен обход по заблоченным ссылкам а нужен обход всего трафика (так-как в некоторых тоталитарных странах необходим трафик проксированый весь). Но проблема в том что после того как я сконфигурировал интерфейс WG с его настройками внутренними и Firewall, весь трафик независимо от настроек побежал через этот WG. Дело в том что при отвале интерфейса WG интернет пропадал хотя и был на основном интерфейсе WAN. На помощь приходит пакет MWAN3. Для себя я поставил таким образом:

luci-app-mwan3
mwan3
luci-i18n-mwan3-ru

Теперь утилита доступна по Network =>Load Balancing ( все действо происходит в OpenWrt 18.06.1). Далее все просто при отвале интерфейса WG с метрикой 1 LAN кидаеться на интерфейс WAN с метрикой 2 и наоборот при поднятии WG перекидывается обратно вообщем failover, если будет интересно готов описать все до точки.

Время очень важно!

Дабы не растягивать уже и без того растянутый пост опишу что wireguard неимоверно требователен ко времени геолокации внешнего IP. Я победил его вырубив встроенный NTP и установив пакеты:

collectd-mod-ntpd
luci-app-ntpc
luci-i18n-ntpc-ru

И настроив NTP сервера от стратума 2 яруса.

Ежели будет вопросы по теме, пишите.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.