Я пытаюсь запустить Openvpn внутри контейнера LXD / LXC и перенаправить трафик, поступающий в контейнер, в VPN.
Цель состоит в том, чтобы заменить полноценную виртуальную машину, которая делает именно это (и играет с LXD :-)
Мне удалось получить IP с моего основного сервера DHCP, настроить правила iptables для маскировки / пересылки трафика, но когда я пытаюсь запустить openvpn, он блокируется отсутствием (доступа к) / dev / net / tun устройства ,
Я наткнулся на этот пост на ServerFault /server/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
но на следующей остановке / старте, я получил
ошибка: не удалось настроить устройство tun: не реализовано
Теперь я не могу даже, lxc config device remove mycontainer tun
как он выдает ту же ошибку Не реализовано. Контейнер, похоже, потерян ...
источник
ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
ошибку, которую я получал, пытаясь инициировать соединение OpenVPN из контейнера. Упоминание об этом здесь в надежде добавить этот ответ в поиски Google по этой ошибке. Если это также решило вопрос @alci, этот ответ должен быть принят.ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted (errno=1)
вместоERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Я изо всех сил пытался сделать это также в непривилегированном контейнере. То, что я закончил, было
затем внутри контейнера
Это означало, что мне не нужно было вносить какие-либо изменения в lxc conf
источник
Вам нужно сделать устройство tun на хосте, прежде чем запускать контейнер:
sudo mknod /path/to/your/container/dev/net/tun c 10 200
источник