Ubuntu 路由表:docker 条目导致 VPN 无法解析

Ubuntu 路由表:docker 条目导致 VPN 无法解析

这是我的路线输出(其中一部分):

在此输入图像描述

我有一个私人 IP,需要在 VPN 下访问。 IP 以 172.17 开头......通过删除 docker0 条目,我可以访问我的私有 IP。但是,每次我重新启动笔记本电脑时,docker0 条目都会被添加回来。

我可以更改路由表的顺序,以便首先解决末尾为 228.1 的规则吗?虽然这可能是一个短期解决方案,但它对我有很大帮助。

答案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 路由所做的那样)访问其他设置。

相关内容