Как правильно настроить сервер и клиентов WireGuard, чтобы они могли видеть и взаимодействовать друг с другом?

Здравствуйте! <br/> Можете представить, как выглядит ваша VPN-сеть? <br/>
  • 8 декабря 2024 г. 10:03
Ответы на вопрос 2
Здравствуйте! Настройка 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, где сервер и клиенты могут видеть и взаимодействовать друг с другом. Убедитесь, что у вас правильно сконфигурированы все ключи и адреса.
настроить на роутерах маршрутизацию и фаерволл
Похожие вопросы