Содержание

Конфигурация WireGuard

Можно добавлять новых клиентов, создавая новые секции [Peer] на сервере и генерируя для них ключи.

Конфигурация сервера

/etc/wireguard/wg0.conf

[Interface]
# Имя сетевого интерфейса (можно изменить)
Name = wg0

# IP-адрес сервера в VPN-сети и маска подсети
Address = 10.0.0.1/24

# Порт, на котором WireGuard будет принимать подключения (обычно 51820)
ListenPort = 51820

# Приватный ключ сервера (генерируется командой `wg genkey`)
PrivateKey = <SERVER_PRIVATE_KEY>

# Опционально: включить NAT для клиентов (если сервер раздаёт интернет)
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# Опционально: сохранять конфигурацию при перезапуске интерфейса
SaveConfig = true

[Peer]
# Настройки клиента 1

# Публичный ключ клиента (генерируется на клиенте)
PublicKey = <CLIENT1_PUBLIC_KEY>

# Разрешить подключение только с этого IP (опционально)
AllowedIPs = 10.0.0.2/32

# Опционально: клиент может подключаться из любого места (Endpoint не фиксируется)
# (если нужно фиксировать IP клиента, укажите его здесь)
# Endpoint = 1.2.3.4:12345

Пояснения:

Конфигурация клиента

/etc/wireguard/wg0-client.conf

[Interface]
# Имя интерфейса (можно изменить)
Name = wg0-client

# Приватный ключ клиента (генерируется на клиенте)
PrivateKey = <CLIENT_PRIVATE_KEY>

# IP клиента в VPN-сети (должен быть уникальным)
Address = 10.0.0.2/24

# Опционально: DNS-сервер (если сервер его раздаёт)
DNS = 8.8.8.8, 1.1.1.1

[Peer]
# Настройки сервера

# Публичный ключ сервера (берётся из серверного конфига)
PublicKey = <SERVER_PUBLIC_KEY>

# IP и порт сервера (его публичный IP или домен)
Endpoint = server.example.com:51820

# Какие IP-адреса маршрутизировать через VPN
# (0.0.0.0/0 — весь трафик, 10.0.0.0/24 — только локальная сеть VPN)
AllowedIPs = 10.0.0.0/24, 192.168.1.0/24

# Опционально: включать постоянное соединение (переподключаться, если связь пропала)
PersistentKeepalive = 25

Пояснения:

Генерация ключей

На сервере:

wg genkey | tee server_private.key | wg pubkey > server_public.key

На клиенте:

wg genkey | tee client_private.key | wg pubkey > client_public.key

Запуск и управление

Сервер:

sudo wg-quick up wg0    # Запустить VPN
sudo wg-quick down wg0  # Остановить VPN
sudo wg show            # Показать статус подключений

Клиент:

sudo wg-quick up wg0-client
sudo wg-quick down wg0-client

Проверка соединения

На сервере:

ping 10.0.0.2  # Проверить связь с клиентом

На клиенте:

ping 10.0.0.1  # Проверить связь с сервером