내 Debian Stretch 컴퓨터가 인터넷에 연결하는 데 심각한 문제가 있습니다. 가장 이상한 점은 컴퓨터를 시작할 때마다 웹사이트(google 또는 github)에 연결할 수 있지만 결국(30초 정도 후에) Firefox에서 서버를 찾을 수 없다는 오류가 발생한다는 것입니다.
제가 생각하는 DNS 실패 원인은 다음과 같습니다.
ping 8.8.8.8
현재 또는 의 ping google.com
결과를 얻을 수 있습니다 . 일하다. Wget은 동일한 주소를 Google로 리디렉션하고 호스트 주소를 확인할 수 없습니다.Name or service not know
Temporary Failure in Name Resolution
ping 172.217.0.0
iptables가 전달 체인을 제거하도록 설정되어 있기 때문에 이 문제는 Docker로 인해 발생한다고 생각합니다. 하지만 여기서는 틀릴 수도 있습니다. 컴퓨터를 다시 시작할 때까지 인터넷은 제대로 작동했는데 오늘 아침에는 연결되지 않았습니다.
내가 무엇을 하려고 해도재설정 가능하지만 다시 시작할 때마다 다시 편집됩니다. 그래서 모든 Docker 이미지, 컨테이너, docker 및 Containerd를 삭제했습니다. 그러나 제거했는데도 문제가 계속 발생합니다. 그래서 일부 도커 스크립트나 설치된 것이 아직 남아 있다고 생각합니다.
내가 시도한 것:
- 현재 내 iptables는 모든 것을 허용하도록 설정되어 있습니다.
- 나는 추가
8.8.8.8
했고8.8.4.4
/etc/resolv.conf
/etc/nsswitch.conf
가지다hosts: files dns
- IP 주소를 받을 수 있어요
- 다른 장치가 제대로 작동하므로 문제는 라우터에 있지 않습니다.
- 내 창 파티션이 제대로 작동하므로 하드웨어는 괜찮습니다.
나는 systemctl을 보려고 했지만 그 유틸리티는 나에게 새로운 것이므로 여기서는 그것을 알아낼 수 없습니다.
/etc/network/interfaces
예 source /etc/network/interfaces.d/*
, 하지만 디렉터리가 비어 있습니다.
그런 다음 다음과 같이 말합니다.
auto lo
iface lo inet loopback
무엇을 더 시도해야 할지 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다.
답변1
다음 기본 설정을 사용해 보세요 nsswitch.conf
.
hosts: files mdns4_minimal [NOTFOUND=return] dns
8.8.8.8
그리고 는 무엇입니까 8.8.4.4
? 그것들이 모두 당신의 DNS 서버인가요? 간단히 DNS 서버를 로 설정하면 됩니다 resolv.conf
. 일반적으로 공급자의 DNS 서버가 아닌 라우터입니다.
때때로 이러한 문제는 IPv6로 인해 발생할 수 있습니다. 따라서 라우터에서 IPv6을 비활성화해 볼 수 있습니다.
ip address
인터페이스에서 IPv4/IPv6를 확인해 보세요 .
ip route
실제 경로가 표시됩니다.
나는 늘어난 상태의 도커를 가지고 있으며 그런 문제는 없습니다.
UPD1
Google DNS 서버만 사용하려는 경우에는 이 항목을 주석 처리하세요. /etc/resolv.conf
DNS 요청은 발견된 첫 번째 이름 서버로 전송됩니다.
ip
- 명령 address
이자 route
옵션 입니다.
ip address
- IPv4(inet) 및 IPv6(inet6) 주소가 구성된 네트워크 인터페이스를 나열합니다. 중복되거나 잘못된 넷마스크가 있는지 확인할 수 있습니다.
ip route
- "기본값"은 주요 트래픽을 보여줍니다.
다음 명령을 사용하여 Google DNS에 연결되어 있는지 확인하세요.
telnet 8.8.8.8 53
- 서버에 연결되어 있어야 합니다. ("8.8.8.8에 연결")
달리기host -v google.com
어떤 호스트가 DNS 요청을 처리하는지 알아보려면 "[호스트]에서 수신된 바이트" 줄을 찾으세요.
Wi-Fi가 활성화되어 있으면 끄십시오. stretch
4.9 커널을 사용하는 일부 Wi-Fi 어댑터 에 문제가 있습니다.