作者scarface (花音部飙隼~)
看板LinuxDev
标题[问题] gethostbyname可以指定interface发出dn …
时间Mon Aug 16 14:34:30 2010
※ [本文转录自 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)