DNS查找 - 确定目标服务器

时间:2013-12-10 17:28:11

标签: linux networking dns

当机器连接到多个网络接口(Linux)时,我对DNS查找的目的地确定有疑问。

说明: 我正在开发一个连接到2个(或更多)网络的Linux机器。 每个网络接口连接到不同的网络(ISP)并接收(DHCP)不同的IP /默认网关和2个DNS服务器。

该框运行与特定接口绑定的不同网络应用程序(客户端)。

例如:

应用程序A通过网络1(接口1)连接到服务器。

应用程序B通过网络2(接口2)连接到服务器。

我可以使用基于源的路由来控制每个应用程序的目标接口。 (在Linux中使用路由策略 - ip rule / ip route / etc ...)。

我的问题是关于DNS查找:

Linux共享一个resolv.conf文件,两个网络(1,2)DNS服务器都保存在此文件中。

当应用程序使用标准的getaddrinfo()函数时,它使用Linux默认解析机制(通过reolv.conf文件)。

这意味着应用程序B可以将其DNS查询发送到与网络1相关的DNS服务器。

我可以访问代码,我可以手动执行并直接从我的应用程序向特定的DNS服务器发送DNS查询,但这不是首选选项。

是否有标准方式(代码/或配置)导致来自应用程序A的DNS查找选择网络1 DNS服务器和应用程序B选择网络2 DNS服务器?

由于

1 个答案:

答案 0 :(得分:0)

没有。您需要以不同于IP堆栈的方式执行DNS解析。