dockers / IBM bluemix中的openconnect(错误:TUNSETIFF失败:设备不适当的ioctl)

我创build了自己的基于Ubuntu 14.04的容器镜像,并使用apt-get安装了openconnect。 我可以ping谷歌,并访问我所期望的端口上运行的应用程序。

现在我正在尝试从容器到本地数据库的VPN连接。 我已经尝试在我的Ubuntu 14.04虚拟框中没有问题。 详情请参阅下文。 我现在正在尝试在容器中做同样的事情,但得到以下错误(请参阅下面的完整日志):
TUNSETIFF失败:设备不适当的ioctl

我发现的东西:
来源: https : //serverfault.com/questions/379710/openvpn-setup-service-wont-start
“你有什么types的VPS?你可能需要你的提供商在主机节点上启用TUN / TAP设备。”
– >鉴于它可以在我的笔记本电脑上以完全相同的方式工作,我认为已经在主机上启用。
来源: https : //groups.google.com/forum/#!topic/docker- user/ 2jFeDGJj36E
我有一个tun设备吗?
– >在那里有所有适当的权利
来源: https : //serverfault.com/questions/680721/how-to-create-dev-tun-device-inside-unprivileged-lxc-container

来源: https : //hub.docker.com/r/dperson/openvpn-client/
也许我应该添加一些标志?

cf ic run --device /dev/net/tun --cap-drop ALL --cap-add MKNOD --name <containerName> -p 11821:11821 -d <namespace>/<containerName python /<some pythong script>& 

我也试过没有帽子下拉,没有 – 设备,使用 – cap-add所有,使用帽添加SYS_NET_ADMIN,具有相同的结果,1额外的错误行:
mknod:'/ dev / net / tun':操作不允许
TUNSETIFF失败:设备不适当的ioctl在Bluemix中不允许使用–privileged运行

任何人有任何指针? 还有其他信息应该提供吗? 谢谢!

Succesfull

 enter code here $ sudo openconnect -u <username> <vpn IP> POST <vpn IP> Attempting to connect to server <IP> SSL negotiation with <vpn IP> Connected to HTTPS on <vpn IP> XML POST enabled Please enter your username and password. Password: POST <vpn IP> Got CONNECT response: HTTP/1.1 200 OK CSTP connected. DPD 30, Keepalive 20 Connected tun0 as 10.xxx, using SSL Established DTLS connection (using OpenSSL) 

从容器

  $openconnect -u <username> <vpn IP> POST <vpn IP> Attempting to connect to server <ip> SSL negotiation with <vpn IP> Connected to HTTPS on <vpn IP> XML POST enabled Pleas e enter your username and password. Password: POST <vpn IP> Got CONNECT response: HTTP/1.1 200 OK CSTP connected. DPD 30, Keepalive 20 TUNSETIFF failed: Inappropriate ioctl for device 

不幸的是,您可能必须能够使用IBM容器上不支持的--privileged--cap-add标志来运行容器