Dreadfull2007 n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 28 Feb 2007 Posts: 54
|
Posted: Sun Sep 30, 2007 9:59 pm Post subject: strange problem (multiple routes problem) |
|
|
ok, so i used this:
Code: |
ip route add 86.55.164.0/24 dev eth0 src 86.55.164.67 table evolva
ip route add default via 86.55.164.1 table evolva
ip route add 89.37.93.0/24 dev eth1 src 89.37.93.71 table genesys
ip route add default via 89.37.93.1 table genesys
ip route add 86.55.164.0/24 dev eth0 src 86.55.164.67
ip route add 89.37.93.0/24 dev eth1 src 89.37.93.71
ip route add default via 86.55.164.1
ip rule add from 86.55.164.67 table evolva
ip rule add from 89.37.93.71 table genesys
|
so .. 86.55.164.67 - eth0; 89.37.93.71 - eth1
results from pinging (the proof it works)
Code: |
(00:46:58) -> root@srv2.csworld.ro (/etc/firewall)]# ping www.euroweb.ro -I eth0
PING webhosting.euroweb.ro (193.226.61.45) from 86.55.164.67 eth0: 56(84) bytes of data.
64 bytes from webhosting.euroweb.ro (193.226.61.45): icmp_seq=1 ttl=52 time=59.3 ms
64 bytes from webhosting.euroweb.ro (193.226.61.45): icmp_seq=2 ttl=52 time=59.2 ms
--- webhosting.euroweb.ro ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 59.227/59.298/59.370/0.253 ms
|
Code: |
(00:47:54) -> root@srv2.csworld.ro (/etc/firewall)]# ping www.euroweb.ro -I eth1
PING webhosting.euroweb.ro (193.226.61.45) from 89.37.93.71 eth1: 56(84) bytes of data.
64 bytes from webhosting.euroweb.ro (193.226.61.45): icmp_seq=1 ttl=57 time=2.27 ms
64 bytes from webhosting.euroweb.ro (193.226.61.45): icmp_seq=2 ttl=57 time=1.27 ms
--- webhosting.euroweb.ro ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 1.271/1.774/2.278/0.505 ms
|
now the problem ...
Code: |
(00:48:54) -> root@srv2.csworld.ro (/etc/firewall)]# traceroute -s 86.55.164.67 www.euroweb.ro
traceroute to webhosting.euroweb.ro (193.226.61.45) from 86.55.164.67, 30 hops max, 38 byte packets
1 86.55.164.1 (86.55.164.1) 0.321 ms 0.299 ms 0.251 ms
2 * * *
3 * * *
|
Code: |
(00:49:41) -> root@srv2.csworld.ro (/etc/firewall)]# traceroute -s 89.37.93.71 www.euroweb.ro
traceroute to webhosting.euroweb.ro (193.226.61.45) from 89.37.93.71, 30 hops max, 38 byte packets
1 193.226.118.162 (193.226.118.162) 2.817 ms 2.675 ms 2.214 ms
2 *
|
..having this:
Code: |
(00:56:25) -> root@srv2.csworld.ro (/etc/firewall)]# ip rule
0: from all lookup local
32764: from 89.37.93.71 lookup genesys
32765: from 86.55.164.67 lookup evolva
32766: from all lookup main
32767: from all lookup default
|
Code: |
(00:50:20) -> root@srv2.csworld.ro (/etc/firewall)]# ip route show table main
89.37.93.0/24 dev eth1 scope link src 89.37.93.71
86.55.164.0/24 dev eth0 proto kernel scope link src 86.55.164.67
127.0.0.0/8 dev lo scope link
default via 86.55.164.1 dev eth0
|
Code: |
(00:50:29) -> root@srv2.csworld.ro (/etc/firewall)]# ip route show table evolva
193.226.118.0/24 dev eth0 scope link src 86.55.164.67
86.55.164.0/24 dev eth0 scope link src 86.55.164.67
default via 86.55.164.1 dev eth0
|
Code: |
(00:50:32) -> root@srv2.csworld.ro (/etc/firewall)]# ip route show table genesys
89.37.93.0/24 dev eth1 scope link src 89.37.93.71
default via 89.37.93.1 dev eth1
|
but if i switch the default route from ISP 1 to ISP 2 .. blink ... traceroute from eth2 works !
so i do this:
Code: |
(00:50:37) -> root@srv2.csworld.ro (/etc/firewall)]# ip route del default via 86.55.164.1
(00:52:37) -> root@srv2.csworld.ro (/etc/firewall)]# ip route add default via 89.37.93.1
(00:53:07) -> root@srv2.csworld.ro (/etc/firewall)]# traceroute -s 89.37.93.71 www.euroweb.ro
traceroute to webhosting.euroweb.ro (193.226.61.45) from 89.37.93.71, 30 hops max, 38 byte packets
1 89.37.93.1 (89.37.93.1) 0.370 ms 0.379 ms 0.289 ms
2 89.37.92.193 (89.37.92.193) 0.535 ms 0.569 ms 0.396 ms
3 195.28.184.81 (195.28.184.81) 1.536 ms 0.886 ms 0.846 ms
4 86.104.125.70 (86.104.125.70) 0.800 ms 0.795 ms 1.087 ms
5 v810-1.me.buh.ew.ro (89.238.197.2) 1.169 ms 1.185 ms 1.225 ms
6 v811-1.mo.buh.ew.ro (89.238.197.5) 0.875 ms 0.878 ms 1.031 ms
7 webhosting.euroweb.ro (193.226.61.45) 0.961 ms 0.849 ms 1.040 ms
|
but that SHOULDN't happen like this!
also, trying traceroute from eth0 (ISP 1)
Code: |
(00:53:39) -> root@srv2.csworld.ro (/etc/firewall)]# traceroute -s 86.55.164.67 www.euroweb.ro
traceroute to webhosting.euroweb.ro (193.226.61.45) from 86.55.164.67, 30 hops max, 38 byte packets
1 89.37.92.195 (89.37.92.195) 1.025 ms 0.672 ms 0.528 ms
2 genesys-telecom-avrig-bbIncl.b.evolvatelecom.net (86.55.13.6) 0.632 ms 0.557 ms 0.519 ms
3 195.28.184.81 (195.28.184.81) 0.947 ms 0.880 ms 0.802 ms
4 86.104.125.70 (86.104.125.70) 39.102 ms 31.898 ms 29.026 ms
5 v810-1.me.buh.ew.ro (89.238.197.2) 29.508 ms 29.348 ms 29.074 ms
6 v811-1.mo.buh.ew.ro (89.238.197.5) 29.213 ms 29.114 ms 28.932 ms
7 webhosting.euroweb.ro (193.226.61.45) 29.501 ms 29.253 ms 29.461 ms
|
Note: adding -i eth0/1 with traceroute doesn't change anything, but adding -g 86.55.164.1/89.37.93.1 (gateway) gives me this:
Code: |
traceroute: sendto: Invalid argument
|
wtf ? ISP 2 routes my IP from ISP 1 ?! as you see, there are different routes, it should go thru 86.55.164.1 (router from ISP1, my gateway) not 89.37.93.92 (strange router from ISP 2)
am i missing something ?
please help !!!
Later edit:
If i ping 89.37.93.71 from my computer (86.55.164.64) i get "request timed out"
i belive there are some problems with my routes ... maybe it tries to answer back using ISP 1 instead of ISP 2 in this case (yeah .. could be .. sees request from 86.55.164.0/24 and uses table "evolva" (ISP 1 so .. eth0) instead of the other one |
|