Проблема заключается в том, что компьютеры, подключенные кабелем напрямую к главному хабу - видят друг друга и объединены в сеть. А компьютеры, подключенные ко второму маршрутизатору, изолированы от главной сети и видят только друг друга, но не видят остальных.
DIR-300, скорее всего, получает IP-адрес для интерфейса, которым он подключен к коммутатору (который вы почему-то называете "хабом") и затем использует его как внешний адрес для NAT. Если вы хотите, чтобы все компьютеры в сети "видели друг друга", то наиболее простым решением, на мой взгляд, будет настройка DIR-300 в качестве бриджа (моста). Должен быть настроен бриджинг между интерфейсом, которым он подключен к коммутатору (предположительно, WAN-порт) и остальными (LAN- и WLAN-/WiFi) интерфейсами. В некоторых "домашних" маршрутизаторах подобный режим называется "режимом точки доступа". Если будете использовать подобное решение, на всякий случай не подключайте один хост (компьютер, моноблок) разными интерфейсами (Wi-Fi/LAN) одновременно.
Можно также настроить маршрутизацию на DIR-300, но в этом случае, на мой взгляд, выявится больше нюансов.