Если вы проверите таблицу маршрутизации на router01 (используя либо route show
или netstat -r
), то обнаружите, что трафик для 192.168.10.0/24 будет проходить em1
, а все остальное будет проходить по маршруту по умолчанию, который установлен в dhclient
on em0
. Когда router01 получит пакет от 192.168.100.0/24, em1
он ответит, em0
потому что нет записи для этой подсети в таблице маршрутизации. Так что он будет использовать маршрут по умолчанию. Вы можете легко проверить это, выполнив, например,
$ route get 192.168.100.1
на роутере01. Запишите назначение и имя интерфейса в ответе.
router02 может получить доступ к Интернету через router01, потому что в этом случае запросы приходят от интерфейса DMZ на router2 (192.168.10.2), и это находится в той же подсети, что и em1
на router01. Поэтому, когда router01 отвечает, он отвечает через, em1
потому что это маршрут для 192.168.10.0/24.
У вас есть два возможных решения: либо использовать NAT на router02 (это означает, что весь запрос от LAN достигнет router01 с 192.168.10.2 в качестве адреса источника), который будет работать, но означает дополнительную нагрузку на router02, либо просто сделать более логичную вещь, которая заключается в добавьте маршрут к вашей локальной сети на router01, чтобы он знал, что трафик в эту подсеть должен проходить через router02:
# route add 192.168.100.0/24 192.168.10.2
Вы можете сделать это постоянным, добавив следующую строку /etc/hostname.em1
:
!route add 192.168.100.0/24 192.168.10.2