Напишите скрипт который будет создавать клиентские конфиги
И так для начала определимся что должен делать скрипт.
Во первых желательно создавать папки для каждого клиента с файлом конфигурации и ключами, называть папки желательно по какому-то индификатору клиента, поэтому у нас уже есть один параметр который принимает скрипт: $1
- имя или идентификатор клиента.
Скрипт должен создавать конфиги клиента, а также дописывать конфиг сервера. При этом для каждого клиента, после каждого использования скрипта должен назначаться не занятый IP адресс в VPN сети. Ну и после всех действий должны выполняться перезагрузка службы wg.
В конфиге сервера перед добавлением пира подписывайте коментом индификатор клиента из параметра $1
Скрипт для создания клиентов должен лежать в /etc/wireguard/script
директории.
Напишите скрипт который разворачивает Wireguard сервер на Linux с нуля и протестируйте его.(PS:пожауйста не используйте уже готовые скрипты а напишите свой это полезная тренеровка.)
Данный скрипт должен принимать все неообходимые параметры для создания конфига из файла или при запуске программы.
Скрипт должен создавать два дополнительных каталога client
и script
в директории /etc/wireguard
и в папку script закидывать ваш скрипт для создания конфигов клиента.
Что нужно знать.
Для начала, большинство необходимых вам команд вы можете взять из гайда: Настройка Wireguard.
Используйте в начале файла со скриптом чтобы указать где лежит bash-интерпретатор.
Для создания переменных используйте четкие и понятные названия:
Обратите внимание что между =
нету пробелов.
Чтобы записать содержимое какого либо файла в переменную вы можете использовать следующию конструкцию:
Для обращение к переменной и вставки ее значения в какую либо команду используйте знак $
.
Чтобы записать какой либо текст в файл используйте операторы перенапрваления:
Внимание используя
>
вы замените все содержимое файла на вставляемый текст, используя>>
вы запишите текст в конец файла не удаляя его содержимого.
Обратите внимание на $1
такая запись используеться для обращения к первому аргументу после запуска скрипта. К примеру командой: script.sh erik
вы передадите в скрипт в переменную 1
значение erik. Соответсвтенно $2
передадите 2 аргумент после запуска скрипта и тд.
Если вы не хотите чтобы скрипт выводил какие либо ошибки или либой другой ввывод после выполнения команды добавьте знак &
В таком случае команда выполниться в фоне.
Впринципе этого достаточно чтобы написать скрипт. В остольном гугл в помощь к примеру: Руководство по написанию Bash скриптов.