핑 8.8.8.8은 작동하지만 핑 www.google.com은 작동하지 않습니다


12

우분투 서버 16.04.2를 실행 중이며 apt-get update"목록의 모든 것"을 해결하는 일시적인 오류를 반환합니다.

  • www.google.com을 핑하면 알 수없는 호스트로 응답합니다.
  • 8.8.8.8로 핑하면 오류없이 패킷이 전송됩니다.

나는 우분투 포럼과 인터넷 세계의 모든 곳에서 찾을 수있는 모든 "수정"을 시도했지만 아무것도 작동하지 않습니다. 는 resolv.conf작동 NIC 쇼 ifconfig를, 방화벽 해제, 비어, 난 그냥 경우에 망치를 멀리 던졌다. 불행히도, 동일한 네트워크의 다른 컴퓨터에서이를 입력하고 있지만 다양한 출력의 텍스트를 첨부하여 진행 상황을 보여줄 수는 없습니다. 이것에 도움이 필요합니다.

resolv.conf 파일에는 다음 줄이 포함되어 있습니다.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4

마지막 라인은 시스템을 재부팅 할 때 인터페이스 파일에 의해 배치됩니다. 이것은 16.04LTS의 새로운 기능입니다. Windows NT4가 그렇게 나쁘지 않고 Ubuntu Server 12도 아니었다 고 생각합니다.


2
시스템의 IP 주소는 어떻게 얻습니까? DHCP 서버에서 온 것입니까? 고정 IP입니까? IP 주소를 핑 (ping) 할 수 있으면 DNS 서버 IP 설정없이 작동합니다. 그러나 DNS 주소 설정이 없거나 DHCP가 제공하지 않는 것 같습니다.
Terrance

IP는 정적입니다. 서버 소프트웨어를 설치할 때 DNS 서버를 설정하지 않았습니다.
게리 머서

askubuntu.com/questions/143819/…를 보고 8.8.8.8 및 8.8.4.4에서 Google DNS 서버와 같은 DNS 항목을 추가하십시오.
Terrance

나는 모든 것을했다. 내 정적 IP가 at & t vdsl 상자에서오고 있습니다. 그들의 DNS 이름 서버와 DNS 검색 IP를 사용하고 있습니다. 내가 추론 할 수있는 것은 at & t가 DNS 쿼리를 차단한다는 것입니다.
게리 머서

흥미 롭군 어쩌면 AT & T에 연락하여 어쨌든 차단하고 있는지 확인할 수 있습니다. DNS 서버를 Google DNS 서버로 교체하고 작동하는지 확인할 수 있습니다.
Terrance

답변:


17

/etc/resolv.conf파일에 네임 서버가 필요 합니다. 편집 /etc/resolv.conf하고 작동하는 네임 서버를 추가 하십시오 . Google은 무료 서비스를 제공합니다 8.8.8.8.

이 작업을 수행:

$ nano /etc/resolv.conf

주석 처리되지 않은 첫 번째 줄로 이것을 배치하십시오.

nameserver 8.8.8.8

다음을 사용하여이 기능을 확인할 수 있습니다.

$ ping -c10 www.google.com

파일에이 줄을 추가하여이 변경을 영구적으로 만들 수 있습니다 /etc/resolvconf/resolv.conf.d/head.


우피! 성공! 실례합니다. 36 시간 연속이 상자를 두드리는 것 ... 효과가있었습니다. 나는 심지어 at & t ip를 넣고 작동했습니다. 도와 주신 모든 분들께 감사드립니다. (씨 중재자,이 사람들은 그렇게 모든 감정이 정크 위로 완화 뒷면에 두드려 필요)
게리 머서

resolv.conf 파일을 편집 할 수있는 권한을 부여하지 않습니다
Syam kumar KK

@Ragy Morkos '대답 달리, 그것은 18.04 LTS 우분투도 나를 위해 일한
태원 - 진 김

고마워요! 우분투에 chroot-ing 한 후 www.google.com을 핑할 수 없었습니다. 귀하의 솔루션 덕분에 이제 chroot-ed 파티션에서 설치 등을 수행 할 수 있습니다.
김광진

3

표시된 답변은 실제로 Ubuntu 18.04.01에서 작동하지 않습니다. 이 문제를 해결하려면 다음을 수행하십시오.

  • 실행 sudo gedit /usr/lib/systemd/resolv.conf
  • 붙여 넣기 nameserver 8.8.8.8(및 / 또는 원하는 다른 이름 서버)를 저장 한 다음 종료하십시오.
  • 실행하여 심볼릭 링크 추가 sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

https://askubuntu.com/a/1050280/899241의 크레딧


2

resolv.conf 파일이 비어 있어야한다는 페이지 링크를 게시 할 수 있습니까? 내 생각에 그것은 그것이 잘못 오도하는 것입니다.

명령을 사용 sudo nano /etc/resolv.conf하여 해당 파일을 편집 하고 한 줄을 넣으십시오.

nameserver 8.8.8.8

그것은 당신의 이름 확인과 그것을 사용하는 다양한 프로그램-ping, apt-get 등을 수정해야합니다.

또한 resolv.conf가 비어있는 이유를 조사해야합니다. DHCP 서버가 올바르게 구성되지 않았을 수 있습니다.


파일에 포함 된 내용은 다음과 같습니다. # resolvconf (8)에 의해 생성 된 glibc resolver (3) 용 동적 resolv.conf (5) 파일 #이 파일을 수동으로 편집하지 마십시오-변경 사항이 덮어 쓰기됩니다 8.8.8.8 8.8.4.4 마지막 라인은 시스템을 재부팅 할 때 인터페이스 파일에 의해 배치됩니다.
Gary Mercer

@GaryMercer를 질문에 추가하십시오. 주석을 읽기가 어렵습니다.
wjandrea

0

우분투 16.04.x에 대한 좋은 아이디어는 덮어 쓰지 않습니다 /etc/resolv.conf. OS가 자신의 가능성을 가장 많이 덮어 씁니다.

파일 /etc/resolv.conf은 일반적으로 다른 파일에 대한 심볼릭 링크입니다.

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

즉, 정확하고 편집 할 수 있지만 다른 프로그램이 덮어 쓸 가능성이 높습니다. NetworkManager가 설치되어있는 것 같습니다. 내가 아는 한,이 서비스는 당신의 결심의 내용을 관리합니다. 따라서 실제로 그 설정을 시도해야합니다. (다른 한편으로 NetworkManager는 시스템에서 비활성화 될 수 있습니다. 알려주세요.)

시도 nmtui하고 올바른 DNS 서버가 추가 할 수 있습니다. 나는 또한 사용할 것이다8.8.8.8 보조 DNS로만 합니다. 기본 DNS는 로컬 네트워크 근처에있는 시스템 또는 라우터이거나 그 밖의 모든 것이어야합니다.


네트워크 관리자가 없습니다. GUI가없는 서버입니다. 리포지토리 연결을 종료하기 전에 dnsutils를 설치했습니다.
게리 머서

@Gary Mercer : 그러면 네트워크 인터페이스를 어떻게 가져 오나요? (ifup 및 ifdown?) Network Managers GUI는 선택적 구성 요소입니다. nmtui그 텍스트 기반입니다.
Gerhard Stein

시스템을 재부팅하여 nic을 불러옵니다. 서버이므로 "오프"되지 않습니다. 인터페이스를 사용하는 모든 서비스를 구성하는 다른 상호 관련 구성 요소로 인해 재시작 서비스 사용이 항상 작동하지는 않습니다. 간단한 재부팅 명령으로 모든 서비스를 다시 시작하는 것이 더 쉽고 효율적입니다.
게리 머서

시스템을 재부팅하면 "관리자"가 장치를 가져와야합니다. 고정 IP 주소를 어느 부분에서 구성 했습니까?
Gerhard Stein

0

50-cloud-init.yaml 파일을 다음 값으로 편집 할 때까지 동일한 문제가 발생했습니다.

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

그것이 당신에게도 효과가 있기를 바랍니다.


사용하는 경우 netplan 구글 DNS 서버를 addresses: [8.8.8.8,8.8.4.4] (어쩌면 더 나은 사용 Cloudflare의 1.1.1.1 )에 /etc/netplan/50-cloud-init.yaml다음을 sudo netplan --debug apply.
Pablo Bianchi

0

시스템에 지정한 DNS 서버와 관련된 문제가 발생했습니다. /etc/resolv.conf에서 이름 서버 항목을 확인하십시오.

문제는 ping 명령이 DNS 서버가 문제를 해결하고 Google 실제 IP 주소를 제공 할 수 없기 때문에 "www.google.com"을 식별 할 수 없다는 것입니다 (모든 서버는 해당 IP 주소로만 액세스 할 수 있음)

해결책

에서 항목을 편집하십시오 /etc/resolv.conf. 올바른 DNS 서버를 제공하십시오./etc/resolve.conf"www.google.com"을 해결할 수

또는 y 줄을 추가하여 IP 주소가 127.0.0.53 인 로컬 시스템 확인자를 지정할 수 있습니다

nameserver 127.0.0.53

또는 Google의 DNS 서버 IP (둘 중 하나) : 8.8.8.8 또는 8.8.4.4 제공

nameserver 8.8.8.8**

추신 당신은 여기 DNS가 어떻게 작동하는지 더 잘 이해할 수 있습니다


-2

여기서 해결 한 문제는 내부적으로 도메인 이름을 IP 주소로 확인하는 문제입니다. 우분투 서버의 버전 15부터는 서비스 또는 시스템을 다시 시작하거나 재부팅 할 때마다 변경되는 동적 구성 파일 시스템을 사용한다고 생각합니다. 관리자가 resolv.conf 파일을 변경하면 확인자 서비스가 다시 시작될 때 해당 변경 사항이 삭제됩니다.

변경 사항을 영구적으로 만들기 위해 Ubuntu는 구성 파일의 동적 구성에 영향을주지 않고 사용자 변경 사항을 영구적으로 만들 수있는 방법을 만들었습니다. LD James (위)의 제안은/etc/resolvconf/resolv.conf.d/head 파일에 .

이것은 변경 사항을 영구적으로 만들었고 도메인 이름 해결 오류 메시지 문제를 해결했습니다 host not found. 인터페이스 파일에서 dns 네임 서버를 설정 한 다음 리졸버로 가져 오는 솔루션입니다. 이 퍼즐을 해결하기 위해 최선을 다해 주셔서 감사합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.