ไม่มีอุปกรณ์รับสัญญาณใน lxc guest สำหรับ openvpn


17

ฉันพยายามตั้งค่าเซิร์ฟเวอร์ openvpn ภายในแขก lxc อย่างไรก็ตามมันเห็นว่าไม่มีอุปกรณ์รับสัญญาณในภาชนะ

การเริ่ม openvpn ภายในคอนเทนเนอร์ทำให้ฉันมีข้อผิดพลาดนี้:

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

ใน config ของฉันฉันเห็นสิ่งต่อไปนี้:

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

ฉันจะถือว่าอุปกรณ์รับสัญญาณที่เปิดใช้งานนี้สำหรับคอนเทนเนอร์ แต่ modprobe tun ทำให้ฉันมีข้อผิดพลาดอื่น:

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

ฉันคิดว่าฉันขาดการอนุญาตหรืออะไรบางอย่างในตู้คอนเทนเนอร์ของฉัน ใครสามารถบอกฉันว่ามันคืออะไร?


ไม่/dev/netอยู่?
quanta

ไม่ / dev / net ไม่มีอยู่เช่นกัน
Lawrence

คำตอบ:


17

ฉันไม่คุ้นเคยกับlxcแต่ลองใช้คำสั่งต่อไปนี้:

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

3
และใน lxc ให้ตั้งค่าบรรทัดต่อไปนี้: lxc.cgroup.devices.allow = c 10: 200 rwm
apagr

@apagr ไม่ทำงานบน Ubuntu 14.04 อีกต่อไป ...
Adam Ryczkowski

1
ทำงานร่วมกับ lxc turnkey openvpn บน proxmox 4.3
ฝังตัว

6

lxcคำตอบข้างต้นไม่ได้ทำงานจริงในขณะนี้กับรุ่นปัจจุบันของ การสร้างอุปกรณ์อักขระด้วยตนเองโดยmknodไม่มีผลกระทบ - อุปกรณ์จะไม่สามารถมองเห็นได้ภายในคอนเทนเนอร์ การใช้งานของautodevฟังก์ชั่นในการ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"

คำสั่งซื้อเป็นสิ่งสำคัญ - denyจะต้องเป็นอันดับแรก


3

นอกจากคำตอบของควอนตั้มแล้ว ตรวจสอบให้แน่ใจด้วยว่าคุณมีบรรทัดนี้ในการกำหนดค่า lxc:

mknod / dev / net / tun c 10 200

นี่คือไวยากรณ์ที่ถูกต้อง:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.