dig에서 "Got bad packet: FORMERR" 메시지가 표시되는 이유는 무엇입니까?

dig에서 "Got bad packet: FORMERR" 메시지가 표시되는 이유는 무엇입니까?

와 같은 DNS 쿼리를 처음 실행하면 dig google.com좋은 답변을 얻습니다. 그러나 후속 쿼리는

;; Got bad packet: FORMERR
55 bytes
25 d8 81 a0 00 01 00 01 00 00 00 01 06 67 6f 6f          %............goo
67 6c 65 03 63 6f 6d 00 00 01 00 01 c0 0c 00 01          gle.com.........
00 01 00 00 01 16 00 04 d8 3a d1 8e 00 00 00 00          .........:......
00 00 00 00 00 00 00             

                    .......

이 오류의 원인은 무엇입니까? 이 문제는 내 컴퓨터에서만 발생하는 것 같습니다. 동일한 네트워크의 다른 컴퓨터에서 동일한 쿼리를 실행하면 이 오류가 발생하지 않습니다.

답변1

수많은 실패로 인해 DNS 쿼리 해결이 간헐적으로 성공하는 것을 보았습니다. 다음 오류 중 하나를 제공합니다.

;; Got bad packet: bad label type
78 bytes

;; Got bad packet: FORMERR
94 bytes

;; Got bad packet: bad compression pointer
78 bytes

내 경우에는 내 resolv.conf. 실제로 발굴 작업에서 여러 가지 문제를 확인했습니다. 이것은 내 로컬 Wi-Fi 라우터에서 잘못 구성된 해결 프로그램이었습니다. 전원을 껐다가 다시 켜보세요. 내 경우에는 IP 주소를 올바르게 확인하지 못하는 ISP 네트워크 이름 서버를 사용하도록 하드코딩했습니다.

복합적인 문제가 있었습니다. 먼저 내 Huawei Wi-Fi/LTE 라우터가 를 resolv.conf통해 기본값으로 설정되었습니다 DHCP.

네트워크 관리자를 통해 설정되는 것을 비활성화해야 합니다 DHCP. nameserver 192.168.8.1. 그리고 google/Cloudflare의 개방형 DNS 확인자를 사용하도록 강제합니다.

cat /etc/resolv.conf
# Generated by NetworkManager
search one.one.one.one google-public-dns-a.google.com
nameserver 192.168.8.1
nameserver 1.1.1.1
nameserver 1.0.0.1
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 8.8.8.8
nameserver 8.8.4.4

두 번째 문제는 search one.one.one.one google-public-dns-a.google.com. 나는 이 노트북에서 이 Wi-Fi 연결을 오랫동안 사용하지 않았으며 거기에 설정한 설정은 내가 하고 있던 실험에서 나온 것입니다. 내가 본 문제에 추가되었습니다.bad label type

네트워크 관리자에서 네트워크를 변경해야 합니다. IPv4 설정 -> 방법 -> 자동(DHCP) 주소에서만 가능합니다. 이것은 되어서는 안 됩니다 Automatic (DHCP). 여기에는 DHCP 서버가 설정한 모든 것이 포함됩니다. 라우터 IP에서 로컬 네트워크 DNS 서버를 포함합니다 192.168.8.1.

나는 인터넷에서 최고의 개방형 DNS 리졸버 두 개를 설치했습니다.구글 공개 DNS그리고cloudflares 공개 DNS

설정을 저장하고 네트워크에 다시 연결하세요.

나중에 내 resolv.conf모습은 이러했다.

cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 8.8.8.8
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 8.8.4.4

그 시점 이후에는 내 DNS 확인이 올바르게 작동했습니다.

관련 정보