Dmi*_*san 8 permissions routing linux-networking docker vpn-client
我正在尝试Cisco VPN client在 Docker 中运行控制台。我这样启动容器:
docker run -it -v /srv/vpn/keys/:/root/keys/ --network=host --cap-add=NET_ADMIN --device=/dev/net/tun -v /dev/net/tun:/dev/net/tun vpn-vpnc-client_img
Run Code Online (Sandbox Code Playgroud)
然后vpnc在 Docker 容器内运行客户端
vpnc-connect /root/keys/vpnc.conf --local-port 0
Run Code Online (Sandbox Code Playgroud)
它产生以下输出:
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
Cannot open "/proc/sys/net/ipv4/route/flush": Read-only file system
VPNC started in background (pid: 257)...
Run Code Online (Sandbox Code Playgroud)
vpnc连接并创建正确的路由,因此 VPN 似乎可以工作。我担心的是警告信息。根据文档,对于/proc/sys/net/ipv4/route/flush
写入此文件会导致刷新路由缓存。
我不明白这个说法。路由缓存没有被刷新很重要吗?
另外,据我所知,我可以发出
echo 1 > /proc/sys/net/ipv4/route/flush
Run Code Online (Sandbox Code Playgroud)
容器启动后手动。但是我使用monit内部 docker 容器来重新启动vpnc如果连接丢失。我可以/proc/sys/net/ipv4/route/flush 以某种方式从容器内的主机绑定挂载,并发出命令从容器内的 monit 脚本刷新路由缓存吗?
我是 OpenConnect 的核心开发人员之一,也是 vpnc-script \xe2\x80\x94 的维护者,vpnc和 OpenConnect都使用该脚本进行路由和 DNS 配置。
\n该错误消息实际上来自vpnc-script,而不是来自vpnc其本身,和\xe2\x80\xa6
这个错误根本不重要。它来自触发 IPv4 路由刷新的命令ip -4 route flush cache,这在现代 Linux 内核中是不必要的、已弃用的、无操作的。
我们保留它只是为了向后兼容,以防某个地方有人vpnc在 annnnnnnnnnnnnnnnncieeeeeeent Linux 内核上运行 /OpenConnect。
我们在2019 年标准变更vpnc-script中取消了该错误消息。
如果您只需将您的版本替换vpnc-script为最新版本,该错误就会消失。