네트워크에서 특정 DNS 공급자를 강제로 사용

네트워크에서 특정 DNS 공급자를 강제로 사용

OpenDNS는 카테고리별로 인터넷을 필터링하는 아주 간단한 방법을 제공합니다. 물론 정확한 IP 주소를 얻을 수 있는 사람은 쉽게 필터를 우회할 수 있지만 그것은 내 기대에 충분할 것입니다.

더 큰 문제는 클라이언트 측에서 DNS 공급자를 변경하는 것이 큰 문제가 아니라는 것입니다.

그래서 내 질문은 로컬 네트워크에서 특정 DNS 공급자만 사용하도록 강제할 수 있는지 여부입니다.

대상 장치는 OpenWRT가 포함된 WiFi 라우터입니다. (그러나 필터링 솔루션을 설정하기가 유사하게 간단하다면 환영하지만 주요 질문은 DNS 공급자가 강제하는 것입니다.)

답변1

iptables 방화벽을 사용하면 다음과 같이 작동합니다(Openwrt도 iptables를 사용함).

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 192.168.1.1

라우터에서 Opendns 서버를 사용하십시오. 192.168.1.1Openwrt 라우터 IP입니다. 192.168.1.0/24LAN 네트워크 서브넷입니다. 네트워크 서브넷 설정에 따라 위 규칙을 수정합니다. openwrt 프롬프트에서 위의 규칙을 시도하는 경우 -A로 바꾸십시오 -I. 부팅이나 재시작 시 로드되는 스크립트에 규칙을 저장하는 경우 -A스위치가 작동해야 합니다. 이 설정을 사용하면 클라이언트 시스템이 사용하는 DNS 서버에 관계없이 DNS 요청이 라우터에 도달하면 대상 IP가 라우터 IP의 IP로 변경됩니다. Openwrt에서 iptables에 대해 자세히 알아볼 수 있습니다.여기.

답변2

예, 로컬 네트워크의 모든 호스트가 특정 DNS 공급자만 사용하도록 만드는 것이 가능합니다. 다음과 같이 프록시 서버를 구성하여 이를 수행할 수 있습니다.오징어 프록시로컬 네트워크의 모든 호스트가 이 프록시 서버를 통해서만 인터넷에 액세스할 수 있도록 합니다. 따라서 DNS 요청, HTTP 요청 또는 기타 요청 등 모든 요청은 먼저 프록시 서버로 이동합니다. 이렇게 하면 프록시 서버를 구성하는 동안 작성된 DNS 항목이 로컬 네트워크의 모든 호스트에서 사용됩니다.

관련 정보