Здравствуйте! Настройка WireGuard для создания VPN-сети включает в себя конфигурацию сервера и клиентов. Вот пример, как это сделать.
### Пример VPN-сети
Представим, что у нас есть следующее:
- **Сервер** с IP-адресом `10.0.0.1`
- **Клиент 1** с именуемым хостом `client1`, который будет иметь IP-адрес `10.0.0.2`
- **Клиент 2** с именуемым хостом `client2`, который будет иметь IP-адрес `10.0.0.3`
### 1. Установка WireGuard
На всех устройствах (сервер и клиенты) установите WireGuard:
```bash
sudo apt update
sudo apt install wireguard
```
### 2. Настройка сервера
Сначала нужно создать ключи для сервера:
```bash
wg genkey | tee server_private_key | wg pubkey > server_public_key
```
Ваша конфигурация сервера (`/etc/wireguard/wg0.conf`) должна выглядеть примерно так:
```ini
[Interface]
Address = 10.0.0.1/24
PrivateKey = <ПРИВАТНЫЙ_КЛЮЧ_СЕРВЕРА>
ListenPort = 51820
[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_CLIENT1>
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_CLIENT2>
AllowedIPs = 10.0.0.3/32
```
### 3. Настройка клиентов
На каждом клиенте генерируйте ключи:
```bash
wg genkey | tee client_private_key | wg pubkey > client_public_key
```
Конфигурация клиента (`/etc/wireguard/wg0.conf`) для `client1`:
```ini
[Interface]
Address = 10.0.0.2/24
PrivateKey = <ПРИВАТНЫЙ_КЛЮЧ_CLIENT1>
[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА>
Endpoint = <IP_СЕРВЕРА>:51820
AllowedIPs = 10.0.0.0/24
```
Конфигурация клиента (`/etc/wireguard/wg0.conf`) для `client2`:
```ini
[Interface]
Address = 10.0.0.3/24
PrivateKey = <ПРИВАТНЫЙ_КЛЮЧ_CLIENT2>
[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА>
Endpoint = <IP_СЕРВЕРА>:51820
AllowedIPs = 10.0.0.0/24
```
### 4. Запуск WireGuard
Запустите WireGuard на сервере:
```bash
sudo wg-quick up wg0
```
И на каждом клиенте:
```bash
sudo wg-quick up wg0
```
### 5. Проверка соединения
На сервере выполните команду:
```bash
sudo wg
```
Вы должны увидеть подключенных клиентов.
### 6. Основные настройки firewall
Настройте firewall (если используется) на сервере, чтобы разрешить входящие соединения на порт 51820:
```bash
sudo ufw allow 51820/udp
```
### 7. Тестирование
Теперь вы можете тестировать соединение. Используйте `ping` для проверки доступности клиентов и сервера.
### Заключение
Теперь вы должны иметь работающую сеть WireGuard, где сервер и клиенты могут видеть и взаимодействовать друг с другом. Убедитесь, что у вас правильно сконфигурированы все ключи и адреса.