“sudo echo nameserver 8.8.8.8> /etc/resolv.conf”는 무엇을합니까?


13

누군가 제게 무엇을 말해 줄 수 있습니까 sudo echo nameserver 8.8.8.8 > /etc/resolv.conf?

예전에는 인터넷 연결이 15 초에서 3 분 동안 무작위로 끊어졌지만이 명령을 사용한 후에는 인터넷 연결이 매력처럼 작동합니다. 이 마법 명령 줄이 무엇을했는지 궁금합니다.


3
sudo는이뿐만 아니라 리디렉션에, 여기에 에코 적용해야하며, 루트가 아닌 사용자는 /etc/resolv.conf 파일에 액세스하지 말았어야 - I이 실제로 작동 놀랄거야
최대

@Max 당신은 절대적으로 맞습니다. 나는 그 부분을 놓쳤다-내 대답을 업데이트했다.
gertvdijk

답변:


27

Google Public DNS 서비스가 기기에서 사용하는 네임 서버 (DNS)를 대체합니다 . 해당 명령을 실행하면 네트워크에서 제공 한 기본 설정 (DHCP)에 DNS 문제가있는 것입니다. 문제의 근본 원인을 해결하는 것이 더 좋지만 이는 질문에 대한 일반적인 답변입니다.


명령 설명

sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
  • sudo 이 경우 루트 권한을 상승시킵니다.
  • echo그냥 표준 출력에 따라 인수를 출력합니다 (이 경우 출력 nameserver 8.8.8.8).
  • > 표준 Unix 쉘에서 표준 출력을 파일로 리디렉션합니다 (덮어 쓰기).
  • /etc/resolv.conf 출력이 쓰여지는 파일입니다.
  • nameserver 8.8.8.8을 입력 /etc/resolv.conf하면 8.8.8.8도메인 이름을 IP 주소로 확인하기 위해 IP 주소가있는 이름 서버를 사용하여 시스템을 만들 수 있습니다 . (실제로 발생하는 매우 짧은 버전)
  • 8.8.8.8공개 DNS 서비스가 수신되는 위치에 대해 Google이 게시 한 주소 중 하나입니다 .

sudo 잘못

이 설명은 그럴듯하게 들리지만 오류로 인해 작동하지 않습니다 .

bash: /etc/resolv.conf: Permission denied

왜? 출력 리디렉션은 셸 (여기 : Bash)에 의해 처리되며에 사용 된 명령을 고려하지 않습니다 sudo. 수학의 곱셈이 덧셈보다 우선합니다. 따라서, 그것은 단지 echo높은 권한을 가지고 있지만 쉘은 그렇지 않습니다! 이를 해결하려면 다음과 같이이 명령을 실행해야합니다

sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"

또는 파이프를 사용하여 tee파일로 출력합니다.

echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf  #prints to screen as well

우분투와 네트워크 관리자

Ubuntu에서는 Network Manager가 /etc/resolv.conf파일을 "관리"하므로 이는 일시적인 변경 일뿐 입니다. 로컬 수정 사항을 덮어 씁니다. 따라서 Network Manager에서이를 영구적으로 구성해야합니다.


Network Manager를 사용한 구성

Network Manager를 사용하여 PC를 올바르게 구성하는 것이 좋습니다. 네트워크에서 DHCP를 사용한다고 가정합니다 (가장 일반적). 그런 다음 사용중인 명령과 동일한 기능을 수행하십시오.

  1. 연결 편집 열기 :

    여기에 이미지 설명을 입력하십시오

  2. 사용중인 연결 프로필을 편집하십시오.

    여기에 이미지 설명을 입력하십시오

  3. IPv4 설정의 탭 :

    • 방법 : 자동 (DHCP) 주소 만

      이 설정은 호스트의 IP 주소 구성을 위해 정기적 인 DHCP 요청을 수행하지만 DNS 서버 제안과 같은 다른 필수 옵션은 무시합니다.

    • DNS 서버 : 8.8.8.8
    • 적중 저장

    여기에 이미지 설명을 입력하십시오

끝난.


중요 사항

로컬 또는 회사 네트워크에서 로컬 DNS 서버는 로컬 호스트에 사용될 수 있습니다. Google 서버에 직접 이름을 확인하도록 요청하여이 기능을 잃게됩니다. 예를 들어 로컬 DNS 서버가 "프린터"가 무엇인지 알고 있다면 해당 이름으로 프린터를 사용하지 못하게됩니다.

대신 로컬 DNS 서버를 수정하십시오. ISP의 손상된 DNS 서버로 전달하는 단순한 전달자이며이를 변경할 수없는 경우 (예 : ISP 관리 올인원 라우터)이 8.8.8.8솔루션이 유일한 옵션 일 수 있습니다.


1
또 다른 중요한 참고 사항 : 구글은 아마도 누가 DNS에서 무엇을 찾고 있는지를 모으고있을 것이므로 그에 익숙한 지 생각하십시오. 사용할 수있는 다른 공용 DNS 서버가 많이 있으며 일반적으로 신뢰할 수 있습니다. OP가 로컬 서버 일 수도 있고 아닐 수도있는 잘못된 DNS 서버를 사용하고있는 것 같습니다. (dns에서 현저히 열악한 작업을 수행하는 상용 ADSL 라우터를 가지고 있습니다).
mc0e
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.