Я пытаюсь выполнить Openvpn в контейнере LXD/LXC и трафике перенаправления, прибывающем в контейнер к VPN.
Цель состоит в том, чтобы заменить полностью оперенный VM, который делает точно что (и играют с LXD :-)
Мне удалось получить IP от моего основного сервера DHCP, установить iptables правила для подмены / передача трафика, но когда я пытаюсь запустить openvpn, это заблокировано отсутствием (доступ к)/dev/net/tun устройство.
Я приехал через это сообщение в ServerFault https://serverfault.com/questions/429461/no-tun-device-in-lxc-guest-for-openvpn, но это, кажется, не работает с текущей версией LXC и/или LXD управление конфигурацией...
Править: Я пытался использовать это колдовство, но оно не успешно выполнялось:
lxc config set mycontainer raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
EDIT2: испытанный lxc config device add mycontainer tun unix-char path=/dev/net/tun major=10 minor=200
но на следующем останавливаются/начинают, я добрался
ошибка: Неудавшаяся бочка устройства конфигурирования: Не реализованный
Теперь я не могу даже lxc config device remove mycontainer tun
поскольку это бросает то же Не реализованная ошибка. Контейнер, кажется, потерян...
Вы хотите:
lxc config device add CONTAINER tun unix-char path=/dev/net/tun
Я изо всех сил пытался сделать это также в непривилегированном контейнере. То, что я закончил тем, что делал, было
mknod /path/to/your/container/root/tun c 10 200
chown 100000:100000 /path/to/your/container/root/tun
затем в контейнере
mkdir /dev/net
ln -s /root/tun /dev/net/tun
, Это означало, что я не должен был вносить изменения в lxc conf
Необходимо сделать устройство бочки на хосте перед запуском контейнера: sudo mknod /path/to/your/container/dev/net/tun c 10 200