전달된 패킷에서 DNS 요청을 차단하거나 삭제합니다.

전달된 패킷에서 DNS 요청을 차단하거나 삭제합니다.

패킷을 더 전달하는 미니PC에 기본 Debian 9가 설치되어 있습니다.

도메인별로 호스트를 차단할 수 있기를 원합니다. 즉, 전달된 DNS 유형 패킷이 요청되면(예: youtube.com) 해당 패킷을 삭제해야 합니다. 나는 이를 iptables 규칙에 넣는 방법이 있다는 것을 알고 있지만 이는 권장되는 기술은 아닙니다.

Google의 8.8.8.8 DNS 서버가 하드코딩된 컴퓨터가 거의 없기 때문에(IoT 장치가 거의 없음) dnsmasq 또는 바인딩 설정이 작동하지 않을까 걱정됩니다.

다음과 같은 방법이 있습니까?

  • 내 dnsmasq/bind를 통해 강제로 DNS 확인(블랙리스트를 설정할 수 있음)
  • iptables 없이 "youtube.com"이 포함된 DNS 요청 패킷 삭제

어떤 아이디어가 있나요?

답변1

iptablesDNS 패킷의 내용만으로는 결정을 내릴 수 없으며 패킷 헤더에 있는 주소와 포트 번호로만 결정을 내릴 수 있습니다. 최소한 iptables 확장이 필요합니다.iptables-ext-dns와 같은.

하지만 내 생각에는 당신이 하고 싶어할 것 같습니다DNS 투명 프록시: 소형 컴퓨터를 다음과 같이 설정할 수 있습니다.리디렉션포트 53(UDP 또는 TCP)으로 전송된 모든 나가는 패킷은 선택한 DNS 서버로 전송되며, 그런 다음 필요에 따라 응답을 처리하도록 구성할 수 있습니다. 본질적으로 소형 컴퓨터를 통과하는 모든 DNS 트래픽에 대해 중간자 공격을 수행하고 있습니다.

또한 다음과 같이 DNS 트래픽을 암호화하도록 설계된 새로운 기술이 있다는 점도 알아야 합니다.HTTPS 기반 DNS(Firefox 62 이상에서 지원됨) 또는TLS를 통한 DNS.

클라이언트가 이를 사용하는 경우 대상 포트 53을 사용한 간단한 트래픽 리디렉션은 이러한 요청을 캡처하지 않습니다. 트래픽을 캡처하기 위해 추가 단계를 수행하더라도 서버에 있는 명백한 DNS-over-what 서버가 예상과 다릅니다. 인증서는 귀하의 조작 행위를 노출시킵니다.

또한, 당신은 알아야YouTube는 youtube.com뿐만 아니라 youtu.be 및 기타 도메인을 통해서도 액세스할 수 있습니다.

관련 정보