특정 시간대에 맞춰 DNS 응답을 차단하는 방법이다. 조금 아쉽지만 질의한 컴퓨터 별로 차단할 수는 없다. 일괄 차단 형식이라고 생각하면 된다.
/etc/dnscrypt-proxy/dnscrypt-proxy.toml 파일에서 다음 내용을 추가해 본다.
[schedules]
[schedules.'time-to-sleep']
mon = [{after='21:30', before='7:00'}]
tue = [{after='21:30', before='7:00'}]
wed = [{after='21:30', before='7:00'}]
thu = [{after='21:30', before='7:00'}]
fri = [{after='21:30', before='7:00'}]
sat = [{after='21:30', before='7:00'}]
sun = [{after='21:30', before='7:00'}]
[blocked_names]
blocked_names_file = 'blacklist.txt'
blacklist.txt 파일에서 다음과 같이 지정한다.
*.roblox.com
*.facebook.com @time-to-sleep
이렇게 하면 roblox는 항상 차단, facebook 은 지정된 시간에 맞춰서 응답을 하지 않는다(0.0.0.0).
공유기나 PC에 저장된 DNS 정보까지는 남아 있을 수 있다. 즉시 효과를 기대한다면 방화벽을 이용하던가 해당 시간에 맞추어 cache를 flush 해야 한다.