Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Вопрос по настройке WireGuard  (Прочитано 53296 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CALL|KA

  • Автор темы
  • Участник
  • *
  • Сообщений: 100
  • Водитель НЛО
    • Просмотр профиля
Вопрос по настройке WireGuard
« : 22 Апреля 2023, 13:04:53 »
Всем привет.
Настроил сервер WG на Ubuntu. Потом пришлось переехать на новый сервак и для этого я перенес конфиг и ключи. Как результат - все завелось (почти), но не все публичные ключи клиентов были в файле-конфиге (как потом выяснилось).

Я перенес файл конфига на новый сервак, там есть строка SaveConfig = true и часть клиентов, запустил WG. Но при добавлении новых пользователей, они не попадают в файл, но WG для них работает. wg show новых показывает, но в файле-конфиге их нет.
Собственно, вопрос, как работает механизм сохранения новых клиентов в файл? Не могу разобраться...



Заранее благодарен.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #1 : 22 Апреля 2023, 13:19:37 »
Ничего не понятно. Вы используете что-то еще, помимо wireguard:

я перенес конфиг и ключи.
Ключи в wg не хранятся отдельно от конфига.

там есть строка SaveConfig = true
в wg нет такого параметра.

как работает механизм сохранения новых клиентов в файл? Не могу разобраться...
Вручную прописывается.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

PepperNix

  • Гость
Re: Вопрос по настройке WireGuard
« Ответ #2 : 22 Апреля 2023, 13:25:57 »
как работает механизм сохранения новых клиентов в файл?
Если хочется разабрать и снова собрать двигатель , то во вложении есть скрипт для установки и настройки вирегуард. Там в 200 х строках нужное место. Можно поковырять. Я добавил расширение  txt  , если нужно запускать , то его убрать.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #3 : 22 Апреля 2023, 13:41:30 »
Тоже поделюсь скриптом для генерации ключей. В качестве ключа генерации используется имя хоста по-умолчанию, либо можно указать вручную.
Сделал, чтобы можно было легко восстановить ключи в случае утери.
#!/bin/bash

Host=$1

[ -z $Host ] && Host=$HOSTNAME

PRIV=$( echo -n "$Host" | md5sum | head -c32 | base64 )
PUB=$( echo $PRIV | wg pubkey )

echo "
PrivateKey = $PRIV
PublicKey = $PUB
"
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн CALL|KA

  • Автор темы
  • Участник
  • *
  • Сообщений: 100
  • Водитель НЛО
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #4 : 22 Апреля 2023, 14:15:18 »
Ничего не понятно. Вы используете что-то еще, помимо wireguard:
Прошу прощения, что ввел в заблуждение.
1) У меня был старый сервер с WG, который я настраивал давно и не помню уже подробностей и особенностей настройки. Все работало без проблем и клиенты были счастливы.
2) Сейчас был вынужден переехать на новый сервак.
3) После переноса выяснилось, что некоторые клиенты не могут подключиться, поскольку их публичные ключи отсутствуют в конфиге.
wg show на старом сервере показывает всех клиентов, но в конфиг файле есть только часть из них.


в wg нет такого параметра.
SaveConfig — if set to `true', the configuration is saved from the current state of the interface upon shutdown. Any changes made to the configuration file before the interface is removed will therefore be overwritten.
https://manpages.debian.org/unstable/wireguard-tools/wg-quick.8.en.html
Т.е. конфиг должен сохраняться при выключении интерфейса...не уверен, что я его выключал на старом сервере. Хотя, насколько я помню, его периодически перезагружали, так что сохранение должно было отрабатывать.


Если хочется разабрать и снова собрать двигатель
Кажется, что собрал, но когда есть непонимание процесса - это напрягает. За скрипт спасибо, посмотрю.

Тоже поделюсь скриптом для генерации ключей.
У Вас под рукой нету веб-морды для генерации ключей в виде QR кода или архива? Очень удобно для настройки WG на смартфонах было бы такую штуку развернуть на сервере. Кнопку в интерфейсе нажал и есть новый клиент.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #5 : 22 Апреля 2023, 14:26:52 »
SaveConfig — if set to `true', the configuration is saved from the current state of the interface upon shutdown. Any changes made to the configuration file before the interface is removed will therefore be overwritten.
https://manpages.debian.org/unstable/wireguard-tools/wg-quick.8.en.html
Т.е. конфиг должен сохраняться при выключении интерфейса...не уверен, что я его выключал на старом сервере. Хотя, насколько я помню, его периодически перезагружали, так что сохранение должно было отрабатывать.
Если гугл правильно перевёл (или я правильно понял), SaveConfig работает ровно наоборот:
Любые изменения сделанные в файле конфигурации перед удалением интерфейса, будут перезаписаны.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн CALL|KA

  • Автор темы
  • Участник
  • *
  • Сообщений: 100
  • Водитель НЛО
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #6 : 22 Апреля 2023, 15:07:25 »
Любые изменения сделанные в файле конфигурации перед удалением интерфейса, будут перезаписаны.
Да, но они будут перезаписаны из текущего "состояния".

Из того, что только что проверил на серваке получается:
1) Можно тушить интерфейс wg-quick down wg0, вносить все необходимые правки в конфиг, потом его запускать wg-quick up wg0.
2) Команда "wg set wg0 peer ChblfEB1Rl9ORqG+ывфыsdfsdfsdasdasdasdasd= allowed-ips 172.16.0.4" добавит пира в текущее "состояние", которое хз где хранится. При выключении интерфейса, это все "состояние" будет сохранено в файле.
3) Писать коменты (чтоб разделить юзеров по логическим группам, для себя) в конфиг бесполезно, wg их перезапишет(((


Похоже, что проблема решена. Теперь понятно, как это все работает "под капотом". Остается только один вопрос, почему при перезагрузках сервака, wg не сохранил юзеров в файл, а держал их в стейте (в текущем состоянии) на старом серваке.
« Последнее редактирование: 22 Апреля 2023, 15:17:30 от CALL|KA »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #7 : 22 Апреля 2023, 15:43:31 »
1) Можно тушить интерфейс wg-quick down wg0, вносить все необходимые правки в конфиг, потом его запускать wg-quick up wg0.
убрать saveconfig, внести правки, сделать
wg syncconf wg0 <(wg-quick strip wg0)wg0 - поменять на свой, если отличается. Тушить wg не надо, комменты сохранятся.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн CALL|KA

  • Автор темы
  • Участник
  • *
  • Сообщений: 100
  • Водитель НЛО
    • Просмотр профиля
Re: Вопрос по настройке WireGuard
« Ответ #8 : 22 Апреля 2023, 15:52:17 »
Тушить wg не надо, комменты сохранятся.
Спасибо за совет. Попробую.

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.