Рейтинг:0

Как запустить клиент Wireguard в Windows в фоновом режиме?

флаг cn

У меня есть несколько компьютеров (Win10 pro), размещенных в разных удаленных местах (мои партнеры), которыми мне нужно управлять. Мне нужен доступ к ним из центрального местоположения. Итак, у меня есть центральный VPN-сервер, и я хочу, чтобы к нему подключались несколько экземпляров Win10 pro. Я использую L2TP, но хочу перейти на wireguard. С помощью L2TP можно запускать rasdial.exe в фоновом режиме из планировщика задач. Основная цель — запустить туннель, как только компьютер запустится, и автоматически переподключиться, если туннель выйдет из строя. Мне нужно это ДО того, как любой пользователь войдет в компьютер (например, в фоновом режиме). Интересно, можно ли то же самое сделать с wireguard?

Я заметил, что есть программа под названием C:\Program Files\Wireguard\wg.exe, и ее параметры командной строки очень похожи на программу wg (linux):

C:\Program Files\WireGuard>wg.exe --help
Использование: wg.exe <cmd> [<args>]

Доступные подкоманды:
  show: показывает текущую конфигурацию и информацию об устройстве.
  showconf: показывает текущую конфигурацию данного интерфейса WireGuard для использования с setconf.
  set: изменить текущую конфигурацию, добавить одноранговые узлы, удалить одноранговые узлы или изменить одноранговые узлы
  setconf: применяет файл конфигурации к интерфейсу WireGuard.
  addconf: Добавляет файл конфигурации к интерфейсу WireGuard.
  syncconf: синхронизирует файл конфигурации с интерфейсом WireGuard.
  genkey: Генерирует новый закрытый ключ и записывает его в стандартный вывод.
  genpsk: создает новый предварительный ключ и записывает его в стандартный вывод.
  pubkey: считывает закрытый ключ со стандартного ввода и записывает открытый ключ на стандартный вывод.
Вы можете передать `--help' любой из этих подкоманд для просмотра использования.

Но я думаю, что это только для настройки. Я думаю, что его нельзя использовать для активации туннеля. Оригинал документации ( https://www.wireguard.com/quickstart/#интерфейс командной строки ) объясняет, что "интерфейс можно... активировать с помощью ifconfig(8) или ip-link(8)", но, конечно, это работает только для unix. В этой документации есть еще одно примечание: «Пользователи, не использующие Linux, вместо этого будут писать wireguard-go wg0», но я не уверен, что они имеют в виду здесь. Нигде нет названия программы wireguard-go. Сетевой адаптер для туннеля отображается в списке сетевых адаптеров только тогда, когда туннель уже активен. Например. нет сетевого адаптера, который я мог бы «включить» или «активировать», когда туннель не работает. Наконец, есть wireguard.exe. При запуске без параметров это приложение с графическим интерфейсом. Его нельзя запустить без вошедшего в систему пользователя и рабочего стола, и он не активирует туннель автоматически. У него есть несколько интересных параметров командной строки. «wireguard.exe /managerservice» используется для запуска его как службы Windows. «wireguard.exe /tunnelservice CONFIG_PATH» выглядит многообещающе, но я не смог его запустить. Я получаю эту ошибку, что «процессу не удалось подключиться к диспетчеру служб» или что-то подобное. (Я также получаю эту ошибку, когда запускаю ее от имени администратора.)

У меня нет идей. Как мне это сделать?

djdomi avatar
флаг za
у вас есть 2 варианта: либо использовать nssm как стороннее программное обеспечение, либо использовать клиент wg, который может запускаться через файл wg из автозапуска или, в основном, даже не тестироваться по расписанию.
флаг cn
Как использовать nssm? Что должно начаться?
djdomi avatar
флаг za
с помощью менеджера службы, который не сосёт, вы можете установить службу по мере необходимости.
флаг cn
Я знаю, что такое нссм. Но вам нужно сказать команду, чтобы начать. Какая должна быть команда?
djdomi avatar
флаг za
«C:\Program Files\WireGuard\wireguard.exe» /installtunnelservice «C:\Program Files\WireGuard\Data\Configurations\NAME_OF_CONNECTION.conf.dpapi» — общий способ напомнить, что wg и wireguard — это не одно и то же.
флаг cn
Думаю, это то, что мне было нужно. Сейчас тестирую...

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

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.