Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux DNS查找-确定目标服务器_Linux_Networking_Dns - Fatal编程技术网

Linux DNS查找-确定目标服务器

Linux DNS查找-确定目标服务器,linux,networking,dns,Linux,Networking,Dns,我有一个关于机器连接到多网络接口(Linux)时DNS查找的目标确定的问题 简介: 我正在开发一个连接到2个(或更多)网络的Linux机箱。 每个网络接口连接到不同的网络(ISP)并接收(DHCP)不同的IP/默认网关和2台DNS服务器 该框运行绑定到特定接口的不同网络应用程序(客户端) 例如: 应用程序A通过网络1(接口1)连接到服务器 应用程序B通过网络2(接口2)连接到服务器 我可以使用基于源代码的路由来控制每个应用程序的目标接口。 (在具有路由策略的Linux中-ip规则/ip路由/et

我有一个关于机器连接到多网络接口(Linux)时DNS查找的目标确定的问题

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

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

例如:

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

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

我可以使用基于源代码的路由来控制每个应用程序的目标接口。 (在具有路由策略的Linux中-ip规则/ip路由/etc…)

我的问题是关于DNS查找:

Linux共享一个resolv.conf文件,在该文件中维护两个网络(1,2)DNS服务器

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

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

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

是否有标准方法(代码/或配置)导致从应用程序A选择网络1 DNS服务器和应用程序B选择网络2 DNS服务器进行DNS查找


谢谢

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