네트워크에서 화이트리스트를 작성하기 위해 dnsmasq를 사용하고 있습니다. 내 dnsmasq.conf 파일은 다음과 같습니다.
bogus-priv
domain-needed
no-resolv
server=/stackexchange.com/8.8.8.8
#etc...
다음과 같은 하위 도메인을 차단하고 싶습니다.
server=/meta.stackexchange.com/0.0.0.0
나는 또한 다음을 시도했습니다.
address=/meta.stackexchange.com/0.0.0.0
두 경우 모두 0.0.0.0을 127.0.0.1로 바꾸려고 했습니다.
불행히도 이것은 작동하지 않는 것 같습니다. 구성 파일에서 특정 하위 도메인을 차단하고 나머지 도메인은 허용하려면 어떻게 해야 합니까?
답변1
실제로 이것은 dnsmasq
작동합니다.
address=/meta.stackexchange.com/127.0.0.1
dnsmasq
변경 후 다시 시작하셨나요?
dnsmasq 설정에 대한 자세한 내용은 다음을 참조하세요.이것.
노트: 다른 사람들이 지적했듯이 다음을 사용할 수 있습니다. /etc/hosts
127.0.0.1 meta.stackexchange.com
답변2
이러지마 제발DNS 하이재킹. 이는 인터넷의 낮은 수준 아키텍처를 방해합니다. DNS 하이재킹의 거의 모든 윤리적 적용은 방화벽 장치나 프로그램을 통해 더 잘 처리됩니다.
영역이 주소로 확인되는 것을 방지하려면 클라이언트를 쉽게 편집할 수 있습니다.호스트 파일.
귀하가 설명하는 "스푸핑된" DNS 결과 유형을 제공할 수 있지만 dnsmasq
dnsmasq 서버는 클라이언트 호스트에 액세스할 수 있는 최종 사용자나 악의적인 공격자에 의해 쉽게 우회됩니다. 따라서 이러한 유형의 DNS 하이재킹은 보안상의 이점을 거의 제공하지 않습니다.
마찬가지로, 클라이언트가 실수로 악의적이거나 신뢰할 수 없는 원격 호스트에 액세스하는 것을 방지하는 것이 목표라면 적절하게 구성된 방화벽 장치를 사용하는 것이 더 나을 수 있습니다. 널리 사용되는 솔루션은 Rasperry Pi의 OpenWRT입니다.이 기사에 설명된.
답변3
호스트 기록을 사용하여 웹사이트를 차단할 수 있습니다:
host-record=meta.stackexchange.com,127.0.0.1
또는 도메인 이름:
cname=meta.stackexchange.com,blackhole.com
그러나 실제로는 두 방법 모두 웹 사이트를 차단하는 효과적인 방법이 아닙니다. 내 파일을 보고 /etc/hosts
문제를 해결할 수 있습니다.