누군가 제게 무엇을 말해 줄 수 있습니까 sudo echo nameserver 8.8.8.8 > /etc/resolv.conf?
예전에는 인터넷 연결이 15 초에서 3 분 동안 무작위로 끊어졌지만이 명령을 사용한 후에는 인터넷 연결이 매력처럼 작동합니다. 이 마법 명령 줄이 무엇을했는지 궁금합니다.
누군가 제게 무엇을 말해 줄 수 있습니까 sudo echo nameserver 8.8.8.8 > /etc/resolv.conf?
예전에는 인터넷 연결이 15 초에서 3 분 동안 무작위로 끊어졌지만이 명령을 사용한 후에는 인터넷 연결이 매력처럼 작동합니다. 이 마법 명령 줄이 무엇을했는지 궁금합니다.
답변:
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를 사용하여 PC를 올바르게 구성하는 것이 좋습니다. 네트워크에서 DHCP를 사용한다고 가정합니다 (가장 일반적). 그런 다음 사용중인 명령과 동일한 기능을 수행하십시오.
연결 편집 열기 :

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

온 IPv4 설정의 탭 :
방법 : 자동 (DHCP) 주소 만
이 설정은 호스트의 IP 주소 구성을 위해 정기적 인 DHCP 요청을 수행하지만 DNS 서버 제안과 같은 다른 필수 옵션은 무시합니다.
8.8.8.8
끝난.
로컬 또는 회사 네트워크에서 로컬 DNS 서버는 로컬 호스트에 사용될 수 있습니다. Google 서버에 직접 이름을 확인하도록 요청하여이 기능을 잃게됩니다. 예를 들어 로컬 DNS 서버가 "프린터"가 무엇인지 알고 있다면 해당 이름으로 프린터를 사용하지 못하게됩니다.
대신 로컬 DNS 서버를 수정하십시오. ISP의 손상된 DNS 서버로 전달하는 단순한 전달자이며이를 변경할 수없는 경우 (예 : ISP 관리 올인원 라우터)이 8.8.8.8솔루션이 유일한 옵션 일 수 있습니다.