我在基于 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/