title: asymmetric static routing linux
body: <p>I have 3 linux boxes in a triangle. All subnets are /24.</p>
  
  <p>A has two interfaces: 1.1.1.1, 2.2.2.1</p>
  
  <p>B has two interfaces: 1.1.1.2, 3.3.3.2</p>
  
  <p>C has two interfaces: 3.3.3.1, 2.2.2.2</p>
  
  <p>No routing protocol is running so I am adding a static route on each node. </p>
  
  <p>When pinging A(1.1.1.1)-->C(3.3.3.1), all goes well when A has a static route to 3.3.3.0 via B <em>and</em> C has a static route to 1.1.1.0 via B. So symmetric routing works fine.</p>
  
  <p>Problem happens when I set the return path on C via 2.2.2.1. The ICMP request reaches interface 3.3.3.1 (I see it in tcpdump) but C simply does nothing and no ICMP reply gets sent over any interface.</p>
  
  <p>Any ideas about what is happening?</p>