CentOS/RHEL 6 defaults to strict reverse path filtering. With that setting, the system checks whether the source address of the received packet is reachable through the interface it came in on. If it isn't, then the packet is dropped.
You can change to loose reverse path filtering, which will check if the source address is reachable on any of the interfaces. If so, the packet is accepted. This is the setting recommended for asymmetric routing.
To change temporarily, do:
Code:
# echo 2 > /proc/sys/net/ipv4/conf/default/rp_filter
# echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
For a permanent change, edit the /etc/sysctl.conf and change the net.ipv4.conf.default.rp_filter setting to 2.
There is an article about the settings at
https://access.redhat.com/solutions/53031. You can also find other articles by searching for "centos rp_filter".