Как одновременно юзать Twingate и Wireguard на Windows ПК
Twingate — это крутая альтернатива более традиционным VPN, таким как WireGuard. Благодаря принципам Zero Trust, он обеспечивает превосходную безопасность, при это оставаясь невероятно простым в развертывании — никаких хлопот со сложными настройками.
Однако, чтобы использовать в работе только и только Twingate, вы должны владеть всей инфраструктурой, стоящей за ним (это я сейчас о коннекторах).
Но что делать, если один из ваших клиентов, для доступа к облачным серверам и базам данных компании, использует Wireguard?
Вы не можете использовать оба решения одновременно: если ваш клиент Twingate активен, и одновременно вы попытаетесь открыть ещё и соединение Wireguard, то сеть на вашем ПК с Windows частично выйдет из строя и, скорее всего, вы полностью потеряете подключение к Интернету.
Так как же вы можете использовать оба решения? Возможно ли это вообще? Да, к счастью, это возможно!
Дело в том, что в Wireguard есть секретная функция, она позволяет их клиенту Windows выполнять команды до или сразу после установления соединения Wireguard или его закрытия.
Вы даже можете немного разнообразить свой скрипт, используя переменную WIREGUARD_TUNNEL_NAME для выполнения или невыполнения определенных команд, в зависимости от того, какое соединение Wireguard сейчас устанавливается / разрывается.
Но есть одно но: все эти команды будут выполняться из-под системного пользователя SYSTEM, а это вам не дудки, поскольку это может сделать вашу машину лёгкой целью для вредоносного ПО.
Но мы-то знаем, что делаем, не так ли?
Вы можете активировать всю эту магию PreUp-PostDown, включив секретную фичу через реестр
reg add HKLM\Software\WireGuard /v LimitedOperatorUI /t REG_DWORD /d 1 /f
Затем вы можете начать добавлять параметры PreUp, PostUp, PreDown и PostDown в конфигурации туннеля.
PreUp = net stop Twingate.Service
PostDown = net start Twingate.Service
в раздел [Interface] во всех моих конфигах
Теперь, каждый раз, когда я активирую Wireguard, он останавливает сервис Twingate и запускает его обратно, когда я разрываю соединение в Wireguard.
Согласитесь — это очень удобно!