Как настроить запуск wireguard в кастомном контейнере на основе Ubuntu?

Как запустить службу WireGuard после старта контейнера, чтобы избежать ошибок?
  • 20 сентября 2023 г. 23:47
Ответы на вопрос 1
Для запуска WireGuard в кастомном контейнере на основе Ubuntu необходимо выполнить следующие шаги:

1. Установите WireGuard в контейнере. Для этого выполните команду:

   ```
   $ apt-get update
   $ apt-get install wireguard
   ```

2. Создайте конфигурационный файл WireGuard для вашей сети. Например, вы можете создать файл `/etc/wireguard/wg0.conf` и добавить в него настройки вашей сети:

   ```
   [Interface]
   Address = 10.0.0.1/24
   PrivateKey = <private_key>
   ListenPort = 51820
   
   [Peer]
   PublicKey = <peer_public_key>
   AllowedIPs = 10.0.0.2/32
   ```

   Замените `<private_key>` на ваш приватный ключ, `<peer_public_key>` на открытый ключ вашего партнера и `10.0.0.2` на адрес вашего пира.

3. Запустите службу WireGuard после старта контейнера. Для этого создайте скрипт запуска WireGuard, например, `/usr/local/bin/start-wireguard.sh`, который будет содержать следующую команду запуска WireGuard:

   ```
   #!/bin/bash
   wg-quick up /etc/wireguard/wg0.conf
   ```

   Убедитесь, что скрипт имеет права на выполнение:

   ```
   $ chmod +x /usr/local/bin/start-wireguard.sh
   ```

4. Добавьте этот скрипт в файл `/etc/rc.local`, чтобы он запускался при каждом старте контейнера:

   ```
   $ echo "/usr/local/bin/start-wireguard.sh" >> /etc/rc.local
   ```

   Убедитесь, что файл `/etc/rc.local` также имеет права на выполнение:

   ```
   $ chmod +x /etc/rc.local
   ```

5. Перезапустите контейнер, чтобы изменения вступили в силу.

Теперь WireGuard будет автоматически запускаться при старте контейнера, что позволит избежать ошибок при его использовании.
Похожие вопросы