Không có thiết bị tun trong lxc khách cho openvpn


17

Tôi đang cố gắng thiết lập một máy chủ openvpn bên trong một khách lxc. Tuy nhiên, nó không có thiết bị điều chỉnh trong container.

Bắt đầu openvpn bên trong container cho tôi lỗi này:

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

Trong cấu hình container của tôi, tôi thấy như sau:

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

Tôi giả sử điều này cho phép các thiết bị điều chỉnh cho container, nhưng điều chỉnh mod cho tôi một lỗi khác:

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

Tôi cho rằng tôi đang thiếu một số sự cho phép hoặc một cái gì đó trong container của tôi. Ai đó có thể cho tôi biết nó là gì?


/dev/nettồn tại?
lượng tử

Không, / dev / net cũng không tồn tại.
Lawrence

Câu trả lời:


17

Tôi không quen thuộc với lxc , nhưng hãy thử các lệnh sau:

# mkdir /dev/net 
# mknod /dev/net/tun c 10 200 
# chmod 666 /dev/net/tun

3
và trong lxc config, dòng sau: lxc.cgroup.devices.allow = c 10: 200 rwm
apagr

@apagr Không hoạt động nữa trên Ubuntu 14.04 ...
Adam Ryczkowski

1
Hoạt động với chìa khóa trao tay lxc openvpn trên proxmox 4.3
được nhúng vào

6

Các câu trả lời ở trên không thực sự hoạt động với các phiên bản hiện tại của lxc. Tạo thủ công một thiết bị nhân vật mknodkhông có tác dụng - thiết bị không thể nhìn thấy bên trong vật chứa. Sử dụng các autodevchức năng trong lxclà bắt buộc.

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"

Thứ tự là quan trọng - denyphải là đầu tiên.


3

Ngoài câu trả lời của quanta. Cũng đảm bảo rằng bạn có dòng này trong cấu hình lxc:

mknod / dev / net / tun c 10 200

Đây là cú pháp đúng:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.