docker - 在 docker 容器中调用 OpenConnect VPN 客户端显示 TUNSETIFF 失败 : Operation not permitted

标签 docker vpn

我在基于 ubuntu 的 docker 容器中调用 openconnect。它成功连接到服务器并提示我输入密码,但随后

Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
TUNSETIFF failed: Operation not permitted

我搜索 TUNSETIFF 单词,每个答案都是关于未在 sudo 中运行的命令,但我已经是容器内的 root。还有什么问题?

最佳答案

默认情况下,Docker 容器以一组减少的 linux 功能启动(请参阅 man capabilities)。精简后的集合不包含一些与网络相关的功能(大概是为了让容器无法嗅探来自主机或其他容器的流量)。

要启动具有完整网络功能的容器,请使用 --cap-add 参数显式添加 SYS_NET_ADMIN 功能,例如:

docker run -d --cap-add SYS_NET_ADMIN myimage

或者用 --privileged 给容器全部权限,例如:

docker run -d --privileged myimage

关于docker - 在 docker 容器中调用 OpenConnect VPN 客户端显示 TUNSETIFF 失败 : Operation not permitted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547484/

相关文章:

docker 撰写 : absolute path for shared volumes in version 3

mysql - 使用 Docker 命令从 Mysql 导出 View

python - 执行时和使用奇点构建镜像时的 python 版本不同,相同的官方 python docker 镜像

vba - 如何从 VBA 获取当前登录的 Active Directory 用户名?

iOS 企业 VPN 连接

docker - 在Kubernetes集群中使用Docker镜像启动服务的最佳实践

docker - 如何在 Traefik 中查看失败的代理?

wcf - 连接被拒绝 - 工作中的 nettcp WCF 服务 - 客户端通过 VPN 连接

windows - 在cmd中建立VPN连接

android - 如何通过框架API或任何其他有效方法查找VPN连接状态?