我想在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=host
添加到docker run
,则一切正常。但这不是我真正想要的。我想在容器中隔离运行OpenVPN客户端。
对于它的价值,我不需要IPv6。通过IPv4可以访问VPN网络中所有可访问的主机。
我知道了 看来我必须手动启用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句