От: opevpn in lxc. debian12 (РЕШЕНО)

Автор alexxnight, 26 августа 2025, 16:11:53

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

alexxnight

Добрый день, коллеги.
ОС: debian 12
настроен сетевой мост
cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enp1s0
iface enp1s0 inet manual

# Bridge network interface
auto lxcbr0
iface lxcbr0 inet static
        address 192.168.0.50
        network 255.255.255.0
        gateway 192.168.0.1
        bridge_ports enp1s0
        bridge_stp on
        bridge_fd 0
        bridge_maxwait 0


установлен и настроен lxc контейнер
cat /var/log/lxc/srvovpn/config
lxc.net.0.type = veth
lxc.net.0.hwaddr = 00:16:3e:6a:d0:8a
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1
lxc.rootfs.path = dir:/var/lib/lxc/srvovpn/rootfs

lxc.cgroup2.memory.max = 1G
lxc.cgroup2.memory.swap.max = 2G

lxc.cgroup.devices.allow = c 10:200 rwm
lxc.mount.entry = /dev/net dev/net none rw,bind,create=dir

# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf

# Container specific configuration
lxc.tty.max = 4
lxc.uts.name = srvovpn
lxc.arch = amd64
lxc.pty.max = 1024

# Autostart
lxc.start.auto  = 1
lxc.start.delay = 1
lxc.start.order = 10


В контейнере настроен openvpn server.
Проблема:
он не поднимается
cat /var/log/opnevpn.log
2025-08-26 13:04:35 ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted (errno=1)
2025-08-26 13:04:35 Exiting due to fatal error

Если после запуска контейнера вручную на хосте выполнить
lxc-device -n srvovpn add /dev/net/tun
А после в контейнере перезапустить openvpn
service openvpn@server restart
Все поднимается.

В инете эта тема разжевана, и предложены решения. Но не работает, а именно в файле конфигурации контейнера:
lxc.cgroup.devices.allow = c 10:200 rwm
lxc.mount.entry = /dev/net dev/net none rw,bind,create=dir

и различные вариации не дают результата.
На debian 11 работает. на 12 - нет.

Может кто-то сталкивался, решил проблему.
Спасибо.

27 августа 2025, 10:14:25
Проблема решается следующим образом.
Необходимо настроить сетевой мост с помощью network manager.
В изначальной конфигурации сети мост был настроен через конфигурационный файл /etc/network/interfaces
cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enp1s0
iface enp1s0 inet manual

# Bridge network interface
auto lxcbr0
iface lxcbr0 inet static
        address 192.168.0.50
        network 255.255.255.0
        gateway 192.168.0.1
        bridge_ports enp1s0
        bridge_stp on
        bridge_fd 0
        bridge_maxwait 0


необходимо привести его к виду
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback


установить network manager
apt install network-manager

настроить сетевой мост:
nmcli conn add type bridge con-name lxcbr0 ifname lxcbr0
nmcli conn add type ethernet slave-type bridge con-name lxcbr0-slave1 ifname enp1s0 master lxcbr0

отключить и удалить текущее проводное соединение
nmcli conn down 'Wired connection 1'
nmcli connection delete 'Wired connection 1'

поднять мост
nmcli conn up lxcbr0

Естественно, ip адреса слетят. позже можно будет их настроить. Удаленно проводить эту процедуру с осторожностью.
После поднятия моста, поднимается контейнер.
В контейнере
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

Нет ошибки отказано в доступе. openvpn поднимается.