[問題] gethostbyname可以指定interface發出dn …

看板LinuxDev作者 (花音部飆隼~)時間15年前 (2010/08/16 14:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 Programming 看板 #1CQDkg8G ] 作者: scarface (花音部飆隼~) 看板: Programming 標題: [問題] gethostbyname可以指定interface發出dns request嗎?~ 時間: Mon Aug 16 14:33:12 2010 gethostbyname或是getaddrinfo的問題 我在linux環境下寫網路程式~ 我的linux機器有很多interface比方eth0 eth1 eth2... 之類的~ 不同的interface他們有可能在同個subnet下也可能不同但基本上有不同的用處~ 比方程式a的封包都會往eth0送,程式b就往eth1之類的~ 但現在有個問題就是~這些不同interface後面的網路中都有各自的dns server~ 比方我的/etc/resolv.conf檔可能有三四個 nameserver 對應不同的interface 但比方我在程式b中使用gethostbyname("a.b.c.d")這樣~ linux機器就會對resolv檔內所有的nameserver發出dns request~ 就是說如果我resole黨內有3個nameserver分別對應eth0 eth1 eth2的網域 我每做一次gethostbyname(或 getaddrinfo)3個interface都會發出dns request@_@~ 請問要怎麼做才能在發dns request時指定只有某interface發出呢 (以上面的例子來說就是程式b中做dns查詢時只有eth1會發這樣..) 因為我看一下gethostbyname的code~ 主要發封包之類的動作都是kernal在作的~ 沒辦法像自己寫socket程式可以用bind到某interface上@_@...~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.10.231 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.10.231 ※ 編輯: scarface 來自: 111.240.10.231 (08/16 14:40)
文章代碼(AID): #1CQDluFt (LinuxDev)
文章代碼(AID): #1CQDluFt (LinuxDev)