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.1
Openwrt 라우터의 IP입니다. 192.168.1.0/24
LAN 네트워크 서브넷입니다. 네트워크 서브넷 설정에 따라 위 규칙을 수정합니다. openwrt 프롬프트에서 위의 규칙을 시도하는 경우 -A
로 바꾸십시오 -I
. 시작 또는 재부팅 시 로드되는 스크립트에 규칙을 저장하면 -A
스위치가 작동합니다. 이 설정을 사용하면 클라이언트 컴퓨터가 어떤 DNS 서버를 사용하든 상관없이 DNS 요청이 라우터에 도달하면 대상 IP가 라우터의 IP로 변경됩니다. Openwrt에서 iptables에 대한 자세한 정보를 찾을 수 있습니다.여기.
답변2
예, 로컬 네트워크의 모든 호스트가 특정 DNS 공급자만 사용하도록 하는 것이 가능합니다. 프록시 서버를 구성하여 이를 수행할 수 있습니다.오징어 대리인로컬 네트워크의 모든 호스트가 이 프록시 서버를 통해서만 인터넷에 액세스할 수 있도록 허용합니다. 따라서 DNS 요청, HTTP 요청 또는 기타 요청 등 모든 요청은 먼저 프록시 서버로 이동합니다. 이렇게 하면 프록시 서버를 구성할 때 작성된 모든 DNS 항목이 로컬 네트워크의 모든 호스트에서 사용됩니다.