Привет! Давайте попробуем разобраться с проблемой и настроить ваш пограничный хост (первого пользователя) в качестве шлюза с использованием WireGuard.
На первом пользователе (10.0.0.2) необходимо правильно настроить маршрутизацию и NAT (Masquerading), чтобы второй пользователь (10.0.0.3) мог получить доступ к интернету через первый пользовательский хост.
Вот шаги, которые вам нужно выполнить:
### 1. Включите IP Forwarding
Вы уже выполнили этот шаг, но убедитесь, что вы сделали это правильно:
```bash
sysctl -w net.ipv4.ip_forward=1
```
И чтобы изменения сохранились после перезагрузки, добавьте следующую строку в файл `/etc/sysctl.conf`:
```bash
net.ipv4.ip_forward = 1
```
и примените изменения:
```bash
sysctl -p
```
### 2. Настройка правил NAT
Чтобы настроить NAT (Masquerading), вам нужно использовать `iptables`. Выполните следующие команды на первом пользователе (10.0.0.2):
```bash
# Удалите старое правило, если оно существует
iptables -t nat -F
# Добавьте одно новое правило, чтобы masquerade весь исходящий трафик
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
```
Здесь `wg0` — это интерфейс WireGuard вашего первого пользователя. Убедитесь, что имя интерфейса соответствует тому, что у вас на самом деле.
### 3. Настройка конфигурации WireGuard для первого пользователя
Убедитесь, что конфигурация WireGuard для первого пользователя (10.0.0.2) выглядит следующим образом:
```ini
[Interface]
PrivateKey = <PrivateKey>
Address = 10.111.105.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <PublicKey второго пользователя>
PresharedKey = <PresharedKey>
AllowedIPs = 10.0.0.3/32
Endpoint = <IP-адрес второго пользователя>:<порт WireGuard>
```
### 4. Настройка конфигурации WireGuard для второго пользователя
Теперь у второго пользователя (10.0.0.3) конфигурация должна выглядеть так:
```ini
[Interface]
PrivateKey = <PrivateKey>
Address = 10.111.105.3/24
DNS = 8.8.8.8
[Peer]
PublicKey = <PublicKey первого пользователя>
PresharedKey = <PresharedKey>
AllowedIPs = 0.0.0.0/0, ::0/0
Endpoint = <IP-адрес первого пользователя>:<порт WireGuard>
```
### 5. Проверка маршрутов
Убедитесь, что маршруты правильно настроены. На втором пользователе выполните команду:
```bash
ip route
```
Вы должны увидеть, что трафик по умолчанию идет через первого пользователя:
```
default via 10.111.105.2 dev wg0
```
### 6. Тестирование подключения
Попробуйте протестировать соединение после выполнения всех шагов. Убедитесь, что вы можете пинговать IP-адреса, например, 8.8.8.8, с второго пользователя.
Если что-то не работает, проверьте логи WireGuard для диагностики проблем:
```bash
journalctl -u [email protected]
```
Надеюсь, это поможет вам настроить ваш пограничный хост как шлюз! Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь спрашивать.