А MASQUERADE не включен в iptables ? Очень похоже на проблемы с натом...
У меня такая проблема была на линуксе который подключен к 4 разным каналам и имеет несколько gre-тоннелей. Пакеты выходили не туда куда хотелось.Если на этих интерфейсах должен быть нат, то надо сделать так:
iptables -I POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.2
iptables -I POSTROUTING -o eth1 -j SNAT --to-source 10.0.0.2
Если ната не должно быть - смотреть iptables -L -v -n -t nat на предмет MASQUERADE и SNAT
Также не мешало-бы таблицу роутинга хорошо проверить...