LXD 관리 LXC 컨테이너에서 / dev / net / Tun을 어떻게 허용합니까?


9

Openvpn을 LXD / LXC 컨테이너 내에서 실행하고 컨테이너로 들어오는 트래픽을 VPN으로 리디렉션하려고합니다.

목적은 정확히 수행하는 본격적인 VM을 대체하는 것입니다 (및 장난감을 LXD :-)).

주 DHCP 서버에서 IP를 가져 와서 트래픽을 가장하고 전달하기위한 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동일한 구현되지 않음 오류가 발생 하더라도 할 수 없습니다 . 컨테이너가 분실 된 것 같습니다 ...

답변:


14

당신이 원하는 :

lxc config device add CONTAINER tun unix-char path=/dev/net/tun

1
이것은 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)컨테이너에서 OpenVPN 연결을 시작하려고 시도 하던 오류를 해결했습니다 . 여기에 이것을 언급하면 ​​해당 오류에 대한 Google 검색 에이 답변을 추가 할 수 있습니다. 이것이 또한 @alci의 질문을 해결했다면이 대답을 받아 들여야합니다.
Jonathan Y.

나는 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)
Jay _silly_evarlast_ Wren

3

나는 권한이없는 컨테이너 내부 에서도이 작업을 수행하기 위해 고심하고있었습니다. 내가 끝낸 것은

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를 변경할 필요가 없다는 것을 의미했습니다.


0

컨테이너를 시작하기 전에 호스트에서 tun 장치를 만들어야합니다. sudo mknod /path/to/your/container/dev/net/tun c 10 200


감사. 노드를 만들었습니다. owner : group을 100000 : 100000으로 변경했습니다. 그러나 나는 여전히 컨테이너 안에서 그것을 볼 수 없습니다 ...
alci
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.