Архитектура
Архитектура
Управление WireGuard Bridge полностью реализовано с помощью Python, которое делится на 5 фаз:
- Фаза 1: Настройка инфраструктуры (IP forwarding, поиск конфигурации OpenVPN)
- Фаза 2: Установка и настройка клиента OpenVPN
- Фаза 3: Генерация конфигурации WireGuard
- Фаза 4: Запуск сервера WireGuard
- Фаза 5: Мониторинг процессов
Как это работает
Фаза 1:
- Включение IP forwarding
- Поиск конфига OpenVPN
Фаза 2:
- Запуск OpenVPN-клиента
- Ожидание поднятия туннеля (интерфейс tun поднят)
Фаза 3:
- Генерация или переиспользование ключей сервера WireGuard
- Генерация или переиспользование ключей клиентов WireGuard
- Генерация или переиспользование конфигурации сервера WireGuard
Фаза 4:
- Запуск сервера WireGuard
- Ожидание запуска сервера WireGuard
- Готово к использованию
Фаза 5(пассивная):
- Мониторинг процессов OpenVPN и WireGuard и перезапуск в случае сбоя
- Управление перезапуском при добавлении новых клиентов в рантайме