web-dev-qa-db-ja.com

LXD管理のLXCコンテナで/ dev / net / Tunを許可するにはどうすればよいですか?

OpenvpnをLXD/LXCコンテナー内で実行し、コンテナーに着信するトラフィックをVPNにリダイレクトしようとしています。

目的は、それを正確に行う完全なVMを置き換えることです(LXDでのおもちゃ:-)

メインのDHCPサーバーからIPを取得し、トラフィックをマスカレード/転送するためのiptablesルールを設定しましたが、openvpnを起動しようとすると、/ dev/net/tunデバイスの(アクセス)がないためブロックされます。

ServerFaultでこの投稿に出くわしました https://serverfault.com/questions/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さえできません。コンテナが失われたようです...

9
alci

あなたが欲しい:

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

特権のないコンテナ内でもこれを行うのに苦労しました。私がやったことは

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を変更する必要がないことを意味します

3
kent

コンテナーを開始する前に、ホストでtunデバイスを作成する必要があります:Sudo mknod /path/to/your/container/dev/net/tun c 10 200

0
sмurf