To elaborate on wildwizard's answer,
From 172.16.0.1 icmp_seq=2 Destination Host Unreachable
means that the server wants to route 18.104.22.168 packets via eth2, not eth0 as intended. When you check your routing table (ip route command), you will probably see several defaults, which causes confusion. How is the system to know which default to use?