2 недели назад История
README.md

Описание скрипта для генерации конфигурационных файлов WireGuard

Этот скрипт написан на языке Bash и предназначен для автоматической генерации конфигурационных файлов для сервера и клиентов VPN на основе WireGuard. Скрипт использует переменные окружения, определенные в файле env.sh, для настройки параметров VPN.

Основные функции скрипта:

  1. generate_wg_server_keys: Генерирует приватный и публичный ключи для сервера WireGuard. Ключи сохраняются во временные файлы, а затем считываются в переменные private_server_key и public_server_key. После использования временные файлы удаляются.

  2. generate_wg_client_keys: Аналогично генерирует приватный и публичный ключи для клиента WireGuard. Ключи также сохраняются во временные файлы и затем считываются в переменные private_client_key и public_client_key. Временные файлы удаляются после использования.

  3. generate_wg_server_file_interface: Создает конфигурационный файл для сервера WireGuard. Файл содержит настройки интерфейса, такие как IP-адрес сервера, порт прослушивания, приватный ключ сервера, а также правила для настройки маршрутизации и NAT с использованием iptables.

  4. generate_wg_client_file: Генерирует конфигурационные файлы для клиентов WireGuard. Для каждого клиента создается отдельный файл с настройками интерфейса и пира (сервера). Также обновляется конфигурационный файл сервера, добавляя информацию о новом клиенте.

Основной поток выполнения:

  1. Импорт переменных окружения: Скрипт начинает с импорта переменных окружения из файла env.sh.

  2. Создание директории проекта: Создается директория для хранения конфигурационных файлов, если она еще не существует.

  3. Генерация ключей сервера: Вызывается функция generate_wg_server_keys для генерации ключей сервера.

  4. Создание конфигурационного файла сервера: Вызывается функция generate_wg_server_file_interface для создания конфигурационного файла сервера.

  5. Генерация конфигурационных файлов клиентов: Вызывается функция generate_wg_client_file для создания конфигурационных файлов для всех клиентов, определенных в переменной client_value.

  6. Завершение: В конце скрипт выводит сообщение о том, что конфигурационные файлы были успешно созданы в указанной директории.

Пример использования:

Для использования скрипта необходимо создать файл env.sh с необходимыми переменными окружения, такими как server_eth_ip, listen_port, network, network_mask, client_value и другие. Затем скрипт можно запустить, и он автоматически сгенерирует все необходимые конфигурационные файлы для настройки VPN на основе WireGuard.

Примечания:

  • Скрипт предполагает, что утилита wg (WireGuard) уже установлена и доступна в системе.
  • Временные файлы, используемые для хранения ключей, удаляются после их считывания, чтобы предотвратить утечку конфиденциальной информации.
  • Скрипт поддерживает настройку нескольких клиентов, количество которых определяется переменной client_value.
Конвейеры
0 успешных
0 с ошибкой