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
さえできません。コンテナが失われたようです...
あなたが欲しい:
lxc config device add CONTAINER tun unix-char path=/dev/net/tun
特権のないコンテナ内でもこれを行うのに苦労しました。私がやったことは
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を変更する必要がないことを意味します
コンテナーを開始する前に、ホストでtunデバイスを作成する必要があります:Sudo mknod /path/to/your/container/dev/net/tun c 10 200