flip:wireguard:installing_wireguard_on_debian_12
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| flip:wireguard:installing_wireguard_on_debian_12 [2024/12/24 17:29] – flip | flip:wireguard:installing_wireguard_on_debian_12 [2024/12/26 16:37] (текущий) – flip | ||
|---|---|---|---|
| Строка 14: | Строка 14: | ||
| >**wg pubkey** - для публичного ключа | >**wg pubkey** - для публичного ключа | ||
| - | Пример генерации приватного ключа в файл **privatekey** | + | Пример генерации приватного ключа в файл **privatekey** |
| + | (Можно использовать любое другое имя для удобства) | ||
| < | < | ||
| Строка 20: | Строка 21: | ||
| </ | </ | ||
| - | Пример генерации публичного ключа в файл **publickey** | + | Пример генерации публичного ключа в файл **publickey** |
| + | (Можно использовать любое другое имя для удобства) | ||
| < | < | ||
| Строка 32: | Строка 34: | ||
| </ | </ | ||
| + | Просмотреть ключи можно командами \\ | ||
| + | (Приватный ключ должен быть засекречен!) | ||
| + | < | ||
| + | cat privatekey | ||
| + | cat publickey | ||
| + | </ | ||
| + | ===== Конфигурация для сервера ===== | ||
| + | Необходимо сгенерировать ключи для сервера и клиента \\ | ||
| + | При последующем добавлении новых клиентов, | ||
| + | |||
| + | Файл конфигурации для сервера | ||
| + | |||
| + | < | ||
| + | nano / | ||
| + | </ | ||
| + | |||
| + | Минимальная настройка **wg0.conf** \\ | ||
| + | (Можно использовать любое другое имя для удобства) | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | PrivateKey = < | ||
| + | Address = 192.168.0.1/ | ||
| + | ListenPort = 51820 | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = < | ||
| + | AllowedIPs = 192.168.0.2/ | ||
| + | </ | ||
| + | |||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | |||
| + | > | ||
| + | > | ||
| + | > | ||
| + | |||
| + | Запустить интерфейс (должен совпадать с именем конфига) | ||
| + | |||
| + | < | ||
| + | systemctl status wg-quick@wg0.service | ||
| + | </ | ||
| + | |||
| + | Автозапуск интерфейса | ||
| + | |||
| + | < | ||
| + | systemctl enable wg-quick@wg0.service | ||
| + | </ | ||
| + | |||
| + | Применение новых настроек без потери текущих соединений | ||
| + | |||
| + | < | ||
| + | systemctl reload wg-quick@wg0.service | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Разрешить трафик через шлюз на сервере (форвардинг) ===== | ||
| + | |||
| + | Раскомментировать или добавить параметр в **/ | ||
| + | |||
| + | < | ||
| + | net.ipv4.ip_forward=1 | ||
| + | </ | ||
| + | |||
| + | Применить параметр | ||
| + | |||
| + | < | ||
| + | sysctl -p | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Конфигурация для клиента ===== | ||
| + | |||
| + | Минимальная настройка для клиента | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | Address = 192.168.0.2/ | ||
| + | PrivateKey = < | ||
| + | DNS = 1.1.1.1 | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = < | ||
| + | Endpoint = < | ||
| + | AllowedIPs = 0.0.0.0/0, ::/0 | ||
| + | </ | ||
| + | |||
| + | > | ||
| + | > | ||
| + | > | ||
| + | >**DNS** - DNS сервер | ||
| + | |||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | > | ||
| + | |||
| + | 0.0.0.0/0 - весь трафик для IPv4 \\ | ||
| + | ::/0 - весь трафик для IPv6 | ||
| + | |||
| + | |||
| + | ===== QR-код конфигурации ===== | ||
| + | |||
| + | Установить пакет | ||
| + | |||
| + | < | ||
| + | apt-get install qrencode | ||
| + | </ | ||
| + | |||
| + | Сгенерировать qr-код из пользовательского конфига | ||
| + | |||
| + | < | ||
| + | qrencode -t ansiutf8 < user.conf | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Примеры ===== | ||
| + | |||
| + | |||
| + | ==== Кейс. Виртуальная сеть сервер-клиент ==== | ||
| + | |||
| + | Настроим WireGuard между двумя устройствами | ||
| + | |||
| + | **Генерируем ключи для сервера** | ||
| + | |||
| + | < | ||
| + | wg genkey | tee server_privatekey | wg pubkey > server_publickey | ||
| + | cat server_privatekey && cat server_publickey | ||
| + | </ | ||
| + | |||
| + | > | ||
| + | > | ||
| + | |||
| + | **Генерируем ключи для клиента** | ||
| + | |||
| + | < | ||
| + | wg genkey | tee user_privatekey | wg pubkey > user_publickey | ||
| + | cat user_privatekey && cat user_publickey | ||
| + | </ | ||
| + | |||
| + | > | ||
| + | > | ||
| + | |||
| + | **Конфиг для сервера** | ||
| + | |||
| + | < | ||
| + | nano / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | PrivateKey = eAFJBo4Iv6EhCFrJ2UnaKUL6m5l+eBQXFiyvrgKbeGM= | ||
| + | Address = 192.168.100.1/ | ||
| + | ListenPort = 51820 | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = MNX7jtoxAAgyp38DjxSX2xX6C9z2Ozmp5VFJC0uXWEA= | ||
| + | AllowedIPs = 192.168.100.2/ | ||
| + | </ | ||
| + | |||
| + | >Address = 192.168.100.1/ | ||
| + | > | ||
| + | |||
| + | Запускаем интерфейс | ||
| + | |||
| + | < | ||
| + | systemctl status wg-quick@wg0.service | ||
| + | </ | ||
| + | |||
| + | Автозапуск интерфейса | ||
| + | |||
| + | < | ||
| + | systemctl enable wg-quick@wg0.service | ||
| + | </ | ||
| + | |||
| + | **Конфиг для клиента** | ||
| + | |||
| + | > | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | Address = 192.168.100.2/ | ||
| + | PrivateKey = sJTjndiIZ0uGrwFSlnRJ8QIy5Ty2fqTjYf1u/ | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = g2TdH54TB3yVFqMkRsYr7IsgHQIiFQQ4C5pwIIe+wkE= | ||
| + | AllowedIPs = 192.168.100.0/ | ||
| + | Endpoint = 192.168.0.6: | ||
| + | </ | ||
| + | |||
| + | >Address = 192.168.100.2/ | ||
| + | > | ||
| + | > | ||
| + | |||
| + | Добавить конфиг в клиент и подключиться | ||
| + | |||
| + | Если пинг проходит в обе стороны, | ||
| + | |||
| + | |||
| + | **Добавляем еще одного клиента** | ||
| + | |||
| + | Генерируем ключи | ||
| + | |||
| + | < | ||
| + | wg genkey | tee user2_privatekey | wg pubkey > user2_publickey | ||
| + | cat user2_privatekey && cat user2_publickey | ||
| + | </ | ||
| + | |||
| + | > | ||
| + | > | ||
| + | |||
| + | Отредактируем конфиг сервера | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | PrivateKey = eAFJBo4Iv6EhCFrJ2UnaKUL6m5l+eBQXFiyvrgKbeGM= | ||
| + | Address = 192.168.100.1/ | ||
| + | ListenPort = 51820 | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = MNX7jtoxAAgyp38DjxSX2xX6C9z2Ozmp5VFJC0uXWEA= | ||
| + | AllowedIPs = 192.168.100.2/ | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = HyVRp907OMf7D2piTy6dpabHSMSSQ9Eel/ | ||
| + | AllowedIPs = 192.168.100.3/ | ||
| + | </ | ||
| + | |||
| + | Новый конфиг для клиента | ||
| + | |||
| + | < | ||
| + | [Interface] | ||
| + | Address = 192.168.100.3/ | ||
| + | PrivateKey = oNXwVJklzsMIwOcIB9xjvEqtGMzimXa9dr7qQ8kUfXE= | ||
| + | |||
| + | [Peer] | ||
| + | PublicKey = g2TdH54TB3yVFqMkRsYr7IsgHQIiFQQ4C5pwIIe+wkE= | ||
| + | AllowedIPs = 192.168.100.0/ | ||
| + | Endpoint = 192.168.0.6: | ||
| + | </ | ||
| + | |||
| + | Применяем новый конфиг | ||
| + | |||
| + | < | ||
| + | systemctl reload wg-quick@wg0.service | ||
| + | </ | ||
| + | Клиенты не смогут друг друга увидеть. \\ | ||
| + | Чтоб видели, | ||
flip/wireguard/installing_wireguard_on_debian_12.1735061360.txt.gz · Последнее изменение: 2024/12/24 17:29 — flip
