Скорее всего, Вы не поняли как сделать, а у Вас просто получилось сделать так, чтобы заработало.
Попробую коротко на пальцах
Любую систему можно представить в качестве помещения в здании. А человека - пакетом.
В этом помещении могут быть несколько дверей (интерфейсов). Какие-то двери могут вести в коридоры (подсети), какие-то в другие помещения (host) (можно принять, например, как ppp-интерфейс).
Коридоров, в которые есть выходы-интерфейсы, может быть несколько. Некоторые могут вести в мир (через другие свои двери и коридоры) или просто в другие коридоры (так же через другие двери и возможно даже ещё какие-то коридоры).
В качестве пакетов, мы уже приняли человека, который может выйти из помещения и двигаться согласно назначения.
Человек, находясь в комнате, может выйти только через двери комнаты. Он может попасть в любую другую комнату, но для этого он должен знать маршрут (разрешение доступа в эти помещения или коридоры не рассматриваем).
По маршруту он должен узнать - является ли дверь назначения в прилегающем коридоре или находится где-то дальше? Если конечна яцель находится в другом коридоре, например лестница, куда нет дверей комнаты, но туда есть дверь в прилегающем коридоре, то нужно знать эту дверь. Она является шлюзом (gateway) в тот коридор-лестницу. Лестница может выводить на улицу (в мир), а может и не выходить - это зависит от строения здания (локальной сети). Лестниц может быть несколько, какие-то могут иметь выход в мир, какие-то - нет. Но человек может ориентироваться только на двери которые находятся в прилегающих к помещению коридоров.
Можно проложить маршрут в одно и тоже помещение (или на выход из здания) разными путями. У одного дистанция (метрика) может быть больше, у другого - меньше. Человек (пакет) для движения, выбирает самую короткую дистанцию. Но первоначально путь он может проложить только до двери в прилегающих коридорах к своему помещению. Что будет дальше - будет решено уже за шлюзовой дверью.
Ещё человек знает, что есть дверь, через которую он может попасть в любое помещение, которое находится вне прилегающих коридоров. Эта дверь - шлюз по умолчанию. А маршрут до неё - маршрут по-умолчанию. Именно он указывается ни настройках интерфейсов в качестве параметра gateway и выводится в таблице маршрутизации как маршрут на сеть 0.0.0.0/0. Если указать этот параметр на нескольких интерфейсах, то система может запутаться через какой шлюз посылать пакет. Все остальные маршруты закладываются в таблицу маршрутизации - план здания на стене. Кстати, на плане эвакуации этажа указан default-gateway (пример не очень, так там может быть указан выход на запасной выход)
Т.е. фактически, на выходе из комнаты, человек-пакет знает только в какой коридор (подсеть) должен выйти и через какую дверь-интерфейс. Так как эта дверь находится в пределах коридора и он не помнит в какой стороне коридора она находится (arp-кеш уже очистил эту запись), то он может выглянуть (послать broadcast-пакет) через эту дверь (интерфейс) в коридор и увидев (получив arp-ответ) ту дверь в которую он должен попасть и дальше уже идти к ней.
Возможно где не очень понятно и не совсем кратко, но как смог.