答案1
您在同一网络命名空间中对同一子网 (172.17.0.0) 有两个不相关的使用(1=docker、2=VPN)。这肯定会给两者之一带来麻烦。
docker 设置的优先级高于 VPN 设置,因为 docker 路由的指标较低。该指标是路由命令输出的第五列(docker=0,VPN=50)。度量值越低,优先级越高(请参阅 ip-route 的手册页并查找度量值或首选项)。
您可以尝试找出两条路由(docker 和 VPN)的设置位置并尝试修复指标。我们需要了解有关您的设置的更多信息,以帮助您找到路由的设置位置(例如 Linux 发行版和版本、docker 是如何安装的、安装了哪些 VPN 软件包等)。但是,我假设如果您为 VPN 路由提供更好的优先级,那么您的 docker 设置将无法工作。也许在你的情况下是可以的(即也许你甚至不使用 docker 设置但碰巧安装了它)。如果您安装了 docker 但甚至不需要它,那么卸载 docker 可能与更改指标参数一样容易。
基本上,对于任何相对简单的解决方案,两种设置(docker 或 VPN)之一必须在启动时具有优先级,并且您必须手动修改某些内容(就像您现在通过从路由表中删除 docker0 路由所做的那样)访问其他设置。