Wireguard как создать qr код
Перейти к содержимому

Wireguard как создать qr код

  • автор:

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7a29758f0d2e248b • Your IP: Click to reveal • Performance & security by Cloudflare

Создание QR кода для подключения клиентов WireGuard

Для настройки подключения к WireGuard с мобильного телефона можно создать QR код с конфигурацией. В этом материале мы узнаем как это можно будет сделать.

Подключимся к нашему WireGuard серверу через ssh и выполним следующие действия.
Обновим список пакетов на установленной системе:

Теперь можно установить утилиту qrencode, которая и будет создавать нам QR коды:

Создадим тестовую конфигурацию для телефона example-client.conf. Выполним следующую команду:

Вставим в редактор приведенный ниже текст:

Для сохранения нажмем комбинацию клавиш Ctrl + O, а затем Ctrl + X, чтобы закрыть редактор.
Теперь можно создать QR код на основе нашего конфига. Для этого выполним команду:

В консоли должен появится QR код, который можно отсканировать мобильным телефоном.

Команда qrencode -t ansiutf8 example-client.conf создаст QR код с именем файла.
Для создания подключения к WireGuard на мобильном телефоне, открываем клиента WireGuard. Нажимаем синюю кнопку справа снизу и из открывшегося меню выбираем: Сканировать QR-код.

Сканируем QR код, после чего задаем название нашего подключения.
Так же можно создать изображение в формате png с QR кодом, чтобы отправить клиенту:

Используя параметры ––foreground и ––background можно задать цвета QR кода и его фона. Цвет задается в шестнадцатеричном виде. Например:

Теперь созданное изображение можно скачать с сервера и отправить клиенту. Чтобы скачать изображение можно воспользоваться утилитой scp входящей в Windows 10. Открываем PowerShell и вводим следующую команду:

Generating WireGuard QR codes for fast mobile deployments

If you have been following along on my Gain Flexibility & Increase Privacy with WireGuard VPN “mini-course”, you’ll notice that there are a few areas that we need apply configurations in order for our devices to get connected.

Typing all of this in manually on mobile can be a massive pain, especially if you are supporting a remote device for a user.

QR Codes to the rescue!

We can use QR codes to send VPN configuration files out. This is brilliant engineering on WireGuard’s part.


  • You need a working Ubuntu 20.04 WireGuard VPN Server (learn how to set that up here)
  • You will need the qrencode package installed on your server

Installing the package is easy. Run this command on your SERVER:

Creating the client keys

Unlike macOS and Windows (where our keys are generated on the server), we will need to create the configuration on the server itself.

I like to keep my client configurations in “/etc/wireguard/clients”, so let’s make that directory on the server. I am also going to create a keypair called mobile , so you will see me reference this name again throughout my post.

IMPORTANT NOTE: Be sure to change the mobile name in that command to a descriptive client name of your choice (for both the private and public key).

Creating the client configuration file

We’ll then need to create a client configuration file to be encoded into a QR code. We’ll use nano to do the trick:

This is what we will want our “/etc/clients/mobile.conf” file to look like:


ALSO IMPORTANT: Paste in the contents of your “mobile.key” for the value of PrivateKey . I used the example of abcdefg. but you can get the contents of your key by running the cat command in a separate window:

TO SAVE: While in nano , press CTRL + O to save and CTRL + X to quit.

Generate your QR code

Now that we have our file ready, we can now generate a QR code with it:

It will output an image like this:

Treat this QR code like a password! Don’t just email it. You can take a screenshot and securely send it to your user so only they have access to it.

Load it into the app

All you need your user to do is open the app on their phone and hold their camera up to the QR code. You can see the entire process here:

WireGuard + QR-code конфиг файла для мобильной версии клиента

2. Создание ключей для сервера и клиента и конфиг сервера

Генерация ключей сервера, приватного и публичного

Генерация ключей клиента, приватного и публичного

Настройка конфигурации сервера:

перед настройкой, узнайте имя интерфейса с публичным адресом, обычно eth0

вставим следующие строки:

Секция [Interface]
Address — виртуальный адрес для туннеля
ListenPort — порт соединения
PrivateKey — приватный ключ сервера
PostUp — действия после поднятия туннеля на интерфейсе wg0
PostDown — действия после отключеия туннеля на интерфейсе wg0

Секция [Peer]
PublicKey — публичный ключ клиента
AllowedIPs — выделенный(е) адрес(а) для клиента

3. Создание конфига клиента

Конфиг клиента практически похож на серверный:

Описание файла клиента:

Секция [Interface]
PrivateKey — приватный ключ клиента
Address — виртуальный адрес клиента
DNS — DNS сервера для клиента

Секция [Peer]
PublicKey — публичный ключ сервера
Endpoint — публичный адрес и порт сервера
AllowedIPs — разрешенные адрес(а) для клиента
PersistentKeepalive — опрос сервера каждые 25 секунд

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *