web-dev-qa-db-ja.com

どのようにしてDockerコンテナ内でOpenVPNクライアントを実行できますか?

Dockerコンテナー内でOpenVPNクライアントを実行したい。私はアドホックテストで次のように試みました:

docker run -it --rm --cap-add=NET_ADMIN --device /dev/net/tun -v $PWD:$PWD ubuntu bash

in the container:

apt-get update && apt-get install -y openvpn
openvpn --config myconfig.ovpn

(このアドホックテストのために、ボリュームマウント-v $PWD:$PWDを追加して、OpenVPN構成をコンテナーに取得します。)

その後、突然ログに記録されます。

Fri Jul 12 17:19:37 2019 /sbin/ip -6 addr add <ip>/64 dev tun0
RTNETLINK answers: Permission denied
Fri Jul 12 17:19:37 2019 Linux ip -6 addr add failed: external program exited with error status: 2
Fri Jul 12 17:19:37 2019 Exiting due to fatal error

IPv6には問題があるようですが、どうすればいいのかわかりません。

--net=Hostdocker runに追加して上記を繰り返すと、すべてが機能することに注意してください。しかし、それは私が本当に望んでいたことではありません。コンテナ内でOpenVPNクライアントを分離して実行したいのですが。

価値があるので、IPv6は必要ありません。 VPNネットワークで到達可能なすべてのホストは、IPv4経由で到達可能です。

2
Pritzl

私はそれを働かせました。 IPv6を手動で有効にする必要があるようです:

docker run -it --rm --cap-add=NET_ADMIN --device /dev/net/tun \
           --sysctl net.ipv6.conf.all.disable_ipv6=0 -v $PWD:$PWD \
           ubuntu bash
5
Pritzl