실시간으로 DNS 조회를 프로그래밍 방식으로 수정하는 방법은 무엇입니까?

실시간으로 DNS 조회를 프로그래밍 방식으로 수정하는 방법은 무엇입니까?

OpenDNS(자녀 보호)와 UnoTelly(지역 제한 우회)를 모두 사용하고 싶습니다.

사이트가 차단되면 OpenDNS는 IP를 오류 페이지로 반환합니다. 따라서 해당 오류 IP를 받으면 이를 조회 결과로 반환하고 싶습니다. 그렇지 않은 경우 UnoTelly를 사용하여 이름을 찾아 반환합니다.

이 작업을 수행하는 데 어떤 DNS 소프트웨어가 도움이 됩니까?

답변1

기본적으로 두 개의 업스트림 서버를 쿼리하고 두 가지 답변을 기반으로 결과를 반환하는 2단계 DNS 확인자를 설정합니다. 이 작업을 수행하는 보편적인 방법이 있는지는 잘 모르겠지만 좋은 DNS 라이브러리가 있으면 스크립트하는 것이 그리 어렵지 않습니다. 안타깝게도 요즘 대부분의 프로그래밍 언어는 이를 제공하지 않습니다(적어도 서버 측에서는 아님). 하지만 운 좋게도 Pike는 제공합니다. :)

하지만 DNS를 망칠 예정이라면 어떻게 처리할지 결정해야 합니다.모두A/AAAA 레코드뿐만 아니라 조회 유형도 있습니다. 가장 쉬운 방법은 업스트림 중 하나를 기본 업스트림(아마도 OpenDNS)으로 선택하고 해당 응답을 변경하지 않고 사용하는 것입니다.

코드는 다음과 같은 간단한 DNS 로거와 같습니다.

https://github.com/Rosuav/Hogan/blob/master/dnslog.pike

관련 정보