나는 통제할 수 없는 여러 네트워크에 여러 개의 Raspberry Pi 시스템을 가지고 있습니다.
최근에 네트워크에서 발견한가끔은 아니지만 항상 그런 것은 아니다첫 번째 DNS 조회는 실패하지만 두 번째 조회에서는 이름을 확인할 수 있습니다.
pi@pi:~ $ ping api.twilio.com
ping: unknown host api.twilio.com
pi@pi:~ $ ping api.twilio.com
PING nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com
(18.211.224.155) 56(84) bytes of data.
...
api.twilio.com은 단지 예일 뿐이므로 다른 도메인 이름으로도 복사할 수 있습니다.구글 사이트.
나는 바랐다찾다더 나은 팁을 줄 수도 있습니다.
pi@pi:~ $ ping api.twilio.com
ping: unknown host api.twilio.com
pi@pi:~ $ nslookup api.twilio.com
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find api.twilio.com: REFUSED
pi@pi:~ $ ping api.twilio.com
PING nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com (18.208.54.140) 56(84) bytes of data.
^C
--- nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3106ms
pi@pi:~ $ nslookup api.twilio.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
api.twilio.com canonical name = virginia.us1.api-lb.twilio.com.
virginia.us1.api-lb.twilio.com canonical name = nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com.
Name: nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com
Address: 18.212.47.248
Name: nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com
Address: 18.211.224.155
Name: nlb-api-public-c3207ffe0810c880.elb.us-east-1.amazonaws.com
Address: 18.208.54.140
다양한 시스템에서 동작을 재현할 수 있지만 항상 그런 것은 아닙니다. 때때로 조회가 한동안 작동하는 것처럼 보이다가 얼마 후 동작이 다시 나타납니다(이 시점에서 이것이 DNS 임대 시간 이후일 수 있다고 생각합니까?).
내 질문은 첫 번째 조회가 때때로 작동하지 않는 이유를 조사하는 더 좋은 방법이 있습니까?입니다. 아니면 문제의 원인이 무엇인지에 대한 힌트가 있는 사람이 있다면 더 좋습니다.
답변1
첫 번째 조회가 때때로 작동하지 않는 이유를 조사하는 더 좋은 방법이 있습니까?
- 127.0.0.1에서 어떤 DNS 서버가 수신 대기하는지 알아보세요.
- 로깅이 아직 켜지지 않은 경우 로깅을 켜고 테스트 케이스를 반복하십시오.
- 로그를 확인하세요.
유능한 DNS 서버 소프트웨어는 수행 중인 백엔드 트랜잭션(어떤 쿼리가 전송되고 어떤 응답이 수신되는지)과 캐시에서 가져온 내용을 추적합니다. 또한 처음에 프런트엔드 요청을 거부한 이유도 알려줄 수 있습니다.
문제를 진단할 때 로그를 읽으십시오.
답변2
DNS는 먼저 응답하는 방식으로 작동합니다. 따라서 첫 번째 DNS 목록이 IP 주소를 찾지 못하면 이를 두 번째 DNS에 전달합니다. 너무 오래 걸리면 시간이 초과됩니다.
두 개의 개별 DNS 서버(0.0.0.0)를 보조 서버로 추가하여 어느 서버가 실패하는지 테스트하여 DNS가 제대로 작동하는지 확인하는 것이 좋습니다. 어느 것이든 DNS 대신 127.0.0.1을 볼 가능성이 높습니다. OpenDNS 프록시가 이를 수행할 수 있습니다. 수동 DNS 구성을 확인하세요. ifconfig -a는 전체 IP 구성을 표시하거나 ip ad -a를 표시합니다.