Ответ родительского контроля от Алана, вероятно, лучший способ сделать это. Но просто для потомства я опишу, почему попытка ваших хостов не сработала, и опишу решение типа cron.
Hosts.allow (и его аналог hosts.deny) используются для указания хостов, которым разрешен (или запрещен) доступ к вашему компьютеру с помощью определенных сервисов. То, что вы хотите сделать, это наоборот, поэтому это не сработало.
Записи в crontab, которые должны отключиться, а затем снова подключиться к вашей сети, будут выглядеть примерно так:
0 19 * * * /path/ifconfig eth0 down 1> /dev/null
0 7 * * * /path/ifconfig eth0 up 1> /dev/null
Cron реализован по-разному во многих системах * nix, и есть различия в вышеуказанном формате, так что обратитесь к вашей справочной странице. Извините, я не могу предложить OS X конкретные детали. По соображениям безопасности некоторые реализации cron устанавливают только ограниченные переменные окружения при выполнении команды, поэтому вы должны указать полный путь, набрав «which ifconfig» в командной строке. Вы можете отладить его, удалив перенаправление stdout, и многие хроны должны отправить вам вывод команды по электронной почте, или вы можете просто перенаправить файл журнала.
Я не уверен, как называется сетевое устройство OS X ... это может быть что-то отличное от eth0. Просто введите ifconfig, и он должен отображать имена активных устройств. Возможно, вам придется быть пользователем root, чтобы даже запустить ifconfig. Для редактирования файла crontab вам, безусловно, нужно быть пользователем root.