小编Ben*_* S.的帖子

每个网络命名空间中的单独 DNS 配置

我已经在我的 Linux 系统(内核版本 3.10)上设置了几个网络命名空间,现在我想配置每个网络命名空间以拥有自己的 DNS 设置。

resolv.conf在每个/etc/netns/[namespace]目录中创建了文件,现在我想让我的系统按以下方式工作:

在 bash 命令行中,每当我nsenter --net=/run/netns/[namespace name]使用/etc/netns/[namespace name]/resolv.conf.

如果我像这样运行我的命令:

 "ip netns exec [namespace name] [command]"
Run Code Online (Sandbox Code Playgroud)

然后应用命名空间的 DNS 设置。

但是,在不带“ip netns exec”的情况下运行命令时/etc/resolv.conf,即使运行“netns get cur”表示上下文已设置为所需的网络命名空间,也会从 中获取 DNS 设置。

我尝试mount --bind /etc/netns/[namespace name]/resolv.conf /etc/resolv.conf在适当的网络命名空间的上下文中执行此操作,但这适用于整个系统中的挂载,而不是仅在该网络命名空间的上下文中。

我怀疑使用 mount 命名空间可能会有所帮助,所以我尝试阅读 mount 命名空间的手册页,但是在我致力于它的短时间内无法从中做出任何事情。

有没有一种简单而优雅的方法来实现这个目标?

对解决方案的任何帮助/方向将不胜感激!

dns namespace network-namespaces

10
推荐指数
2
解决办法
4542
查看次数

标签 统计

dns ×1

namespace ×1

network-namespaces ×1