Hello,
Diaphragm a écrit :
>
> Now when i do a traceroute from any other host on the internet, in the
> trace the public IP address of the remote Server (the one with tunnel
> 10.1.0.2) is returned instead of the address from range 67.0.0.0/24
> which is allocated to the eth0:1 of that server.
[...]
> Now the problem is i dont want the ISP's IP to be visible on
> traceroute, i want the eth0:1 IP to be returned!
This can be explained by watching closely the routing table with the
following command (iproute or iproute2 package required) :
$ ip route show
This will show the default source address selected for each destination.
> I know this is acheived by iptabels can anyone help perhaps?
Iptables's SNAT or MASQUERADE are not an option because rules in the
'nat' tables see only packets in the state NEW which create a new
connection, whereas ICMP "TTL exceeded" packets sent by intermediate
nodes in a traceroute are in the state RELATED.
The new stateless NAT added in Linux 2.6.24 and iproute2-2.6.24 may be
an option, but I don't know how to use it. Changing the default source
address for the default route would affect all outgoing packets, not
only traceroute replies.
However, note that the ISP may drop packets sent with a source address
different from the assigned public address. Then you would have to do
source-based routing in order to route such packets back to the tunnel.
|