Объяснение простое: система не может корректно определить, через какой интерфейс отдавать трафик от того или иного IP-адреса.
Так как в таблице маршрутизации есть две одинаковые записи для одной сети, которые не привязаны в source-address (интерфейс указан, как действие, а не как условие), то ядро выбирает первую по списку запись и работает с ней. В результате, пакет может полететь с mac-ом совсем не того интерфейса, который числится для данного IP. Как отреагирует клиент на такой пакет - одному
Патрику известно
Решается 2-мя способами (может есть и другие способы):
1. перестают маяться ерундой и юзают один физический интерфейс. Если ОЧЕНЬ хочется, то для использования ещё одного IP-адреса (правда тяжело выявить жизненную необходимость этого решения) применяют алисы.
2. разруливают трафик средствами iproute2