2013-12-10 85 views
0

當機器連接到多個網絡接口(Linux)時,我有一個關於目標確定DNS查找的問題。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服務器?

謝謝

回答

0

不需要。您需要以不同於取決於IP堆棧的方式執行DNS解析。