dnsmasq.conf를 사용하여 내부 IP 주소 차단

dnsmasq.conf를 사용하여 내부 IP 주소 차단

wan 사이트를 차단하기 위해 conf 파일에서 다음과 같은 작업을 수행할 수 있습니다.

address=/verystrangesite.com/127.0.0.1

따라서 사용자가 내 게스트 LAN에서 그다지 재미있지 않은 작업을 시도하면 ERR_CONNECTION_REFUSED를 받게 됩니다.

불행하게도 내부 사이트(라우터, 게이트웨이, hwfw, ip cam)에서는 작동하지 않습니다. 적어도 IP로만 연결할 수 있는 경우에는 작동하지 않습니다. 대신 my-ip.com과 같은 사이트가 있으면 작동할지 모르겠습니다. 172.16.1.54). 내가 시도한 것은 다음과 같습니다.

address=/172.16.1.2/127.0.0.1

그렇다면 이를 달성하기 위한 올바른 구문을 알고 있습니까?

미리 감사드립니다

토비아스

답변1

이를 달성하기 위한 올바른 구문이 없습니다.

dnsmasq는 DNS 서버일 뿐입니다.하지 않습니다모든 네트워크 트래픽의 중간에 위치하며 단지 DNS 쿼리에 응답하고 도메인 이름을 IP 주소로 변환합니다. 귀하의 dnsmasq 예제는 그렇지 않습니다차단하다사이트에서는 DNS 쿼리 결과를 스푸핑할 뿐입니다(클라이언트가 DNS를 전혀 사용하는 경우에만 해당).

IP 주소로 직접 웹사이트에 접속하려는 클라이언트사용하지 마세요먼저 이를 해결하기 위한 DNS입니다. 즉, 주소는 이미 "사전 확인"되었습니다. 따라서아니요이러한 연결에 영향을 미칠 수 있는 dnsmasq 구성입니다.

대신, IP 주소로 임의의 호스트를 차단하려면 라우터의방화벽(리눅스 iptables/nft/ferm, BSD pf). "연결 거부" 오류 메시지를 생성하려면 연결을 "거부"하는 방화벽 규칙을 추가하세요.

iptables -I FORWARD [...] -d 172.16.1.2 -p tcp -j REJECT --reject-with tcp-reset
iptables -I FORWARD [...] -d 172.16.1.2 ! -p tcp -j REJECT --reject-with icmp-port-unreachable

관련 정보