Proxmox. Установка OpenVPN в LXC

2025-01-27 · 2 мин. для прочтения

Proxmox. Установка OpenVPN в LXC.

Содержание

1 Информация о дистрибутиве

2 Создание контейнера

  • Обновим список контейнеров:
    1pveam update
    
  • Установим дистрибутив Turnkey-OpenVPN (см. Linux. Дистрибутив Turnkey):
    1pveam available | grep openvpn
    2pveam download local debian-12-turnkey-openvpn_18.1-1_amd64.tar.gz
    3pveam list local
    
  • Создадим контейнер:
    1pct create 123 local:vztmpl/debian-12-turnkey-openvpn_18.1-1_amd64.tar.gz --unprivileged 1 -features nesting=1 --net0 name=eth0,bridge=vmbr1,tag=5,firewall=1,ip=12.34.56.78/24,gw=12.34.56.254,type=veth --storage local-lvm --hostname=ovpn
    

3 Устройство /dev/net/tun

  • Поскольку мы использовали непривилегированный контейнер, необходимо прокинуть из контейнера на хост устройство /dev/net/tun.

  • В качестве альтернативы можно использовать привилегированный контейнер (но не надо).

  • Посмотрим конфигурацию контейнера:

    1pct config 123
    
  • Отредактируем файл конфигурации:

    1vi /etc/pve/lxc/123.conf
    
  • Добавьте следующие строки в конце.

    • Настроить политики безопасности:
      1lxc.apparmor.profile: unconfined
      2lxc.cgroup.devices.allow: a
      3lxc.cap.drop:
      
    • Чтобы создать устройство:
      1lxc.cgroup2.devices.allow: c 10:200 rwm
      2lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
      
  • Чтобы непривилегированный контейнер мог получить доступ к /dev/net/tun, необходимо установить владельца:

    1chown 100000:100000 /dev/net/tun
    
  • Проверьте, что разрешения устанавливаются правильно:

    1ls -l /dev/net/tun
    

4 Запуск контейнера

  • Запустите контейнер:
    1pct start 123
    
  • Подключитесь к контейнеру:
    1pct enter 123
    
  • Чтобы сконфигурировать openvpn, надо подключиться к консоли через web-интерфейс.
  • Но грузится долго.
  • Вначале просто чёрный экран.
  • При конфигурировании можно пропустить конфигурацию для Turnkey Hub.
  • После установки можно дополнительно доконфигурить сервер.

5 Настройки

  • Некоторые клиенты требуют, чтобы ключи создавались в той же временной зоне, что и на клиенте.
  • Можно изменить временную зону:
    1dpkg-reconfigure tzdata
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.