내 DNS 체인을 어떻게 확인하나요?

내 DNS 체인을 어떻게 확인하나요?

DNSCrypt를 사용하여 모든 DNS 패킷을 암호화하고 싶기 때문에 다음을 시도했습니다.

/etc/rc.local에서:

/usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk

그런 다음 나는 다음을 실행했습니다.sudo /usr/local/sbin/dnscrypt-proxy -a 127.0.0.1:40 -u _dnscrypt-proxy -d -l /dev/null -R dnscrypt.eu-dk

/var/unbound/etc/unbound.conf에서

여기에 이미지 설명을 입력하세요.

모든 DNS 요청이 dnscrypt를 통해 라우팅되도록 올바르게 구성되어 있습니까?

이렇게 하면 host openbsd.org다른 가상 OpenBSD 시스템에서 동일한 명령을 실행할 때와 동일한 IP 주소를 얻지만 google.com과 youtube.com을 시도하면 다른 IP 결과가 나타납니다. 이로 인해 내가 실수를 하였거나 DNS 확인자가 불량이라고 생각하게 됩니다.

DNS 요청이 실제로 포트 80을 통해 이루어지고 있는지 어떻게 확인합니까? 가능하다면 DNS 확인자를 사용하는지 확인하고 내 요청을 암호화할 수 있는지 알고 싶습니다. 도메인을 확인할 수 있다는 것만 알고 사용된 경로는 알 수 없기 때문입니다.

내 운영 체제는 OpenBSD 5.7 i386입니다.

답변1

YouTube와 Google은 CDN을 통해 서비스를 제공하며 다양한 IP 주소에 매핑되는 DNS 이름을 사용하는 것이 정상입니다.

쿼리가 실제로 DNSCrypt를 통과하는지 확인하려면 일시적으로 중지하세요.

# pkill -STOP dnscrypt-proxy

새로운 DNS 쿼리에 대한 응답을 계속 받는지 확인하세요. 더 이상 이런 일이 일어나서는 안 됩니다.

그런 다음 복원합니다.

# pkill -CONT dnscrypt-proxy

언바운드 구성 파일에 따르면 프록시는 포트 40에서 수신 대기하므로 tcpdump이 포트에서 실행하여 출력이 디코딩 가능한 DNS 패킷이 아닌 왜곡된 것처럼 보이는지 확인할 수도 있습니다.

# tcpdump -n udp port 40

/etc/resolv.conf파일에 다음과 같은 줄이 포함되어 있는 한 Unbound가 포트 80에서 들어오는 연결을 수신하는 데 문제가 없습니다 .

nameserver [127.0.0.1]:80

하지만 80은 동일한 포트에서 웹 서버를 실행할 수 없기 때문에 이상한 선택입니다(DNS는 UDP와 TCP를 모두 사용함).

tcpdump포트 80에서 실행하면 인증되지 않은 암호화되지 않은 일반 쿼리가 표시됩니다.

관련 정보