dnsmasq DNS 도메인 이름 서버 우선순위 매개변수 - 엄격한 순서

dnsmasq DNS 도메인 이름 서버 우선순위 매개변수 - 엄격한 순서

두 개의 DNS 이름 서버를 지정하는 설정이 있습니다. 하나는 로컬이고 다른 하나는 외부입니다. 로컬은렌즈콩, URL 필터링 후 요청을 외부로 전달합니다. 만일의 경우를 대비한 외부 설정렌즈콩장치 소프트웨어 또는 하드웨어에 오작동이 있습니다.

이것렌즈콩응답 시간은 약 20ms, 외부 응답 시간은 약 2ms입니다. 하지만렌즈콩외부로 나열되기 전의 네임서버,DNS기본적으로 타이밍 응답이 테스트되고 더 빠른 응답이 사용됩니다.

DNS그러나 나열된 엄격한 순서에 따라 네임서버를 사용해야 하는 매개변수가 제공되므로 strict-order이 경우 외부 네임서버는 다음과 같은 경우에만 사용해야 합니다.렌즈콩"실패하다".

실제로 이 매개변수를 사용하면 strict-order원하는 대로 작동하지 않으며 외부 이름 서버가 여전히 승리합니다. 이것dnsmasq 매뉴얼 페이지"실패"의 정의가 지정되지 않았습니다.

이 문제를 해결할 수 있는 다른 매개변수 설정을 찾고 있습니다.

최후의 수단으로 외부 프로그램을 사용하여 감지합니다.렌즈콩작업 순서 및 조작DNS해당 이름 서버 설정. 그러나 이는 선호되는 솔루션이 아닙니다.

답변1

나 또한 이 목표를 이루고 싶다. dnsmasq와 PiHole을 실행하는 라우터가 있습니다. Raspberry Pi SD 카드는 오류가 발생하기 쉽기 때문에 DNS가 다운되면 시스템 관리자를 제외한 우리 집에 있는 모든 사람의 인터넷이 실제로 다운됩니다. 미션 크리티컬 상황을 걱정하는 댓글이 나무보다 숲을 놓치고 있는 것 같아 걱정됩니다.

strict-order설정이 작동하지만 문서에 해당 사실이 모호하다는 것을 알았습니다.역순으로 지정해야 함귀하의 구성에서. 직관에 어긋나는 문서가 이에 대해 밝혀주기를 바랍니다.

no-resolv
strict-order # NOTE: List servers in reverse order below (bottom is highest priority)
server=45.90.30.131 # NextDNS 2
server=45.90.28.131 # NextDNS 1
server=192.168.1.2 # PiHole

집에서 테스트했는데 192.168.1.2가 모든 DNS 요청을 수신하고 있습니다. 요청이 내가 지정한 다른 서버로 전달되었는지 확인하기 위해 PiHole 서버를 중지했습니다. 작동하는 동안 라우터는 각 요청에 대해 순서대로 서버를 시도하기 때문에 구문 분석이 매우 느립니다. dnsmasq의 시간 초과를 줄이는 방법을 찾으려고 노력하고 있지만분명히 이것은 설정으로 존재하지 않습니다. dnsmasq의 창시자인 Simon Kelley는 다음과 같이 말했습니다.

dnsmasq의 업스트림 시간 초과는 항상 클라이언트의 시간 초과와 동일하므로 유일한 방법은 클라이언트의 시간 초과를 줄이는 것입니다.

그러나 10.2.1.2로 전송된 패킷이 작동하지 않을 때 "호스트에 대한 경로 없음" 오류를 반환하도록 준비할 수 있다면 상황이 더 빨리 실패할 것입니다. 이는 arp 테이블이나 경로 테이블 조작을 통해 가능할 수 있지만 자세한 내용은 살펴보지 않았습니다.

요청이 더 빨리 실패하는지 확인하기 위해 DNS 서버를 중지하는 대신 PiHole을 종료하려고 시도했지만 아무런 변화가 없었습니다. 나는 이것을 처리하는 자동화된 방법이 없다고 생각하지만 누군가가 프로세스 속도를 높이기 위해 일부 라우터 구성을 넣을 수 있다면 좋을 것입니다.

답변2

코드로 판단하면 dnsmasq는 두 번째 서버를 대체 서버로 사용하여 쿼리 시간이 초과될 때까지 하나의 서버를 사용하여 모든 요청을 보내려고 합니다. 서버를 사용할 수 있는 기간에는 상한이 있습니다. 에 정의되어 있습니다 config.h.

#define FORWARD_TEST 1000 /* try all servers every 1000 queries */
#define FORWARD_TIME 600 /* or 10 minutes */

에서 가져옴Pihole-FTL Github 저장소(AD 차단 기능을 갖춘 dnsmasq의 포크)

OPT_ORDER구현 세부정보를 보려면 저장소를 검색하세요 .

관련 정보