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の質問も解決した場合は、この回答を受け入れる必要があります。
ジョナサンY.16年

私は今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)
ジェイ_silly_evarlast_レン

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.