linux - Two gateway routing issue -


i have 2 nics.

on eth1 ip 10.135.28.86/16.

on eth ip 135.251.8.43/24.

my routing table below:

135.251.8.0/24 dev eth1  proto kernel  scope link  src 135.251.8.43 10.135.0.0/16 dev eth0  proto kernel  scope link  src 10.135.28.86  169.254.0.0/16 dev eth0  scope link  metric 1002  169.254.0.0/16 dev eth1  scope link  metric 1003  10.0.0.0/8 via 10.135.0.1 dev eth0  default via 135.251.8.1 dev eth1  

now if ping 10.135.28.86 10.34.7.103, it's ok, while if ping 135.251.8.43 10.34.7.10, fails.

and if ping public ip 135.251.8.43 135.252.11.7, it's ok, if ping 10.135.28.86, fails.

however, on other machines have same subnet , gateway configured, can ping both ip either 10.34.7.103 or 135.252.11.7.

any ideas on this?

i used tcpdump capture icmp packet on other machines , found echo request come in eth0 , echo reply out eth1.

but on machine no echo reply captured.

when ping other machines ip's in both networks machine uses interface on same network send packet (so private-to-private , public-to-public, since on directly connected subnets). why reaches, on same subnet.

i see 2 scenarios. 1. machine has ip on private network (10.34.7.10) probobly sends ping dgw (ip?) forwards 135.251.8.43 (eth0).

but since source adress (10.34.7.10) on network directly connected it's other interface (eth1) answer sent there. have flawed network architecture.

  1. machine 10.34.7.10 has static route 135.251.8.43 10.135.28.86, machine has not bridged 2 networks.