На сервере поднимаем DCHP и DNS (кэширующий). На роутере отключаем DCHP.
Настраиваем DCHP на отдачу в качестве шлюза — ip роутера, а в качестве DNS — ip сервера.
Далее, если нужно заблокировать какой -либо сайт, создаем виртуалхост (на www сервере) с нужным ip адресом, а так же в dns создаем зону для нужного домена (A записи указывают на локальный адрес сервера).
Надеюсь, понятно объяснил.
В принципе, виртуалхост для каждого домена не обязательно создавать — apache (другие тоже) по умолчанию будут на первый виртуалхост (конечно данный вариант, если не нужно создавать индивидуальную страницу для каждого блокируемого домена).