Re: Can't access aliased ip address
On Wed, 2 Jan 2002, Chad Morgan wrote:
>
> eth0 Link encap:Ethernet HWaddr 00:A0:CC:23:A3:AC
> inet addr:216.86.213.93 Bcast:216.86.213.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:241367 errors:0 dropped:0 overruns:0 frame:0
> TX packets:260291 errors:0 dropped:0 overruns:0 carrier:0
> collisions:41 txqueuelen:100
> Interrupt:10 Base address:0x6000
>
> eth0:1 Link encap:Ethernet HWaddr 00:A0:CC:23:A3:AC
> inet addr:216.86.213.94 Bcast:216.86.213.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> Interrupt:10 Base address:0x6000
>
<snip>
>
> Kernel IP routing table
> Destination Gateway Genmask Flags Metric Ref Use
> Iface
> adsl-gte-la-216 * 255.255.255.255 UH 0 0 0
> eth0
> adsl-gte-la-216 * 255.255.255.255 UH 0 0 0
> eth0
> 192.168.0.0 * 255.255.255.0 U 0 0 0
> eth1
> 216.86.213.0 * 255.255.255.0 U 0 0 0
> eth0
> default adsl-gte-la-216 0.0.0.0 UG 1 0 0
> eth0
>
> Note: the the first two entires are the hosts associated with eth:0 and
> eth0:1
>
> Now, I'm a remote location but when logged into this machine I can ping all
> ip addresses.
>
> >From my machine I get no responce when I try and ping the address
> associated with eth0:1 however when I use tcpdump host 216.86.213.94 I get
> the following result while pinging that address from my machine so it looks
> like it is getting something but not answering.
>
> 11:31:07.232889 ca-brea2a-102.stmnca.adelphia.net >
> adsl-gte-la-216-86-213-94.mminternet.com: icmp: echo request (DF)
>
Chad,
It sounds like you've fallen prey to the perils of assymmetric
routing. For simplicity, I'll refer to your ("my machine") external server
to be machine A, eth0 to be ip-address B, and eth0:1 to be ip-address C.
Here is how things are happening :
Machine A sends echo request to C.
C replies. The routing table on your multihomed server says that
the packet needs to travel out via eth0. The outgoing echo reply therefore
will contain the source address of B.
A is not listening for replies from B. It is listening for replies
from C. Hence your problem.
To see if I am right, filter tcpdump on the icmp protocol, rather
than the host of C. If you see echo replies from B coming in, and echo
requests for C going out, what I said is correct.
Regards,
Jor-el
Reply to: