shinepuppy |
11-01-2006 08:53 AM |
UDP Response with a Multihomed NIC
Hello All,
For various reasons, I have a server with one NIC multihomed with 2 IP addresses assigned:
PHP Code:
eth0 = 192.168.0.97 eth0:1 = 192.168.0.96
I am running a DNS server which listens on both IPs. When I run a DNS query on the ip address linked to eth0 I get a correct response:
PHP Code:
> server 192.168.0.97 Default Server: [192.168.0.97] Address: 192.168.0.97 > linuxquestions.com Server: [192.168.0.97] Address: 192.168.0.97 Non-authoritative answer: Name: linuxquestions.com Address: 66.116.125.121
When I query the multihomed IP I get an error:
PHP Code:
> server 192.168.0.96 Default Server: [192.168.0.96] Address: 192.168.0.96 > linuxquestions.com Server: [192.168.0.96] Address: 192.168.0.96 DNS request timed out. timeout was 2 seconds. DNS request timed out. timeout was 2 seconds. *** Request to [192.168.0.96] timed-out
From what I can tell, the linux server receives the DNS query on eth0:1 (192.168.0.96) but replies with the correct answer from eth0 (192.168.0.97). My windows machine making the request isn't expecting a response from the *.97 address so it drops it.
Can anyone tell me how I can force the response out through the IP address in which it was received? I believe this is a routing problem but I have not been able to figure it out.
Here is what my routing table looks like:
PHP Code:
root@0[powerdns]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
thanks!
|