Tidak ada perangkat tun di tamu lxc untuk openvpn

17

Saya mencoba mengatur server openvpn di dalam tamu lxc. Namun, sepertinya tidak ada perangkat tun yang tersedia dalam wadah.

Memulai openvpn di dalam wadah memberi saya kesalahan ini:

Tue Sep 18 13:04:18 2012 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Tue Sep 18 13:04:18 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Tue Sep 18 13:04:18 2012 /sbin/ifconfig  10.6.0.1 pointopoint 10.6.0.2 mtu 1500
SIOCSIFADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFDSTADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFMTU: No such device
Tue Sep 18 13:04:18 2012 Linux ifconfig failed: external program exited with error status: 1
Tue Sep 18 13:04:18 2012 Exiting

Dalam konfigurasi wadah saya, saya melihat yang berikut:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm

Saya menganggap perangkat tun yang diaktifkan ini untuk kontainer, tetapi modprobe tun memberi saya kesalahan lain:

FATAL: Could not load /lib/modules/3.2.0-30-generic/modules.dep: No such file or directory

Saya berasumsi saya kehilangan beberapa izin atau sesuatu di wadah saya. Bisakah seseorang memberitahuku apa itu?

Lawrence
sumber
Apakah /dev/netada
quanta
Tidak, / dev / net juga tidak ada.
Lawrence

Jawaban:

17

Saya tidak terbiasa dengan lxc , tetapi coba perintah berikut:

# mkdir /dev/net 
# mknod /dev/net/tun c 10 200 
# chmod 666 /dev/net/tun
kuanta
sumber
3
dan dalam lxc konfigurasikan baris berikut: lxc.cgroup.devices.allow = c 10: 200 rwm
apagr
@apagr Tidak berfungsi lagi di Ubuntu 14.04 ...
Adam Ryczkowski
1
Bekerja dengan lxc turnkey openvpn pada proxmox 4.3
tertanam
6

Jawaban di atas sebenarnya tidak berfungsi sekarang dengan versi saat ini lxc. Membuat perangkat karakter secara manual dengan mknodtidak berpengaruh - perangkat tidak terlihat di dalam wadah. Diperlukan penggunaan autodevfungsionalitas dalam lxc.

lxc.cgroup.devices.deny = a

lxc.cgroup.devices.allow = c 10:200 rwm

lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"

Urutan itu penting - denyharus yang pertama.

Stuart Cardall
sumber
3

Selain jawaban kuanta. Pastikan juga Anda memiliki baris ini di konfigurasi lxc:

mknod / dev / net / tun c 10 200

Ini adalah sintaks yang tepat:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm
ApriOri
sumber