Alpine Linux 때때로 DNS를 확인할 수 없는 경우가 있습니다.

Alpine Linux 때때로 DNS를 확인할 수 없는 경우가 있습니다.

가끔 다음 명령을 실행할 때:

sudo apk update && sudo apk upgrade

Alpine Linux는 인터넷에 연결되어 있어도 패키지를 업데이트할 수 없습니다. 하지만 그렇게 하면 sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"다운로드할 수 있습니다. 하지만 이 솔루션은 다음과 같습니다.

  • 나를 좌절시키는 것은 항상 DNS를 설정해야 한다는 것입니다.
  • 때로는 /etc/resolv.conf자체적으로 덮여 있습니다.

어떻게 하면 좀 더 영구적인 해결책을 찾을 수 있나요?

답변1

너무 길어요.

  1. 파일을 열다/etc/udhcpc/udhcpc.conf텍스트 편집기를 사용하십시오.
    파일이 누락된 경우 해당 파일(및 해당 파일이 포함된 폴더)을 생성하면 됩니다.

  2. 행 추가

    RESOLV_CONF=no
    

완벽한.

여기에서 찾으세요:https://wiki.alpinelinux.org/wiki/Udhcpc


내 경우에 허용된 답변이 만족스럽지 않았습니다.

  • 결과적으로 무엇을 하고 있는지도 모른 채 많은 내용이 붙여넣어집니다.
  • 추가 소프트웨어 설치가 필요하며
  • 작성된 내용 앞에 지정된 DNS 서버를 추가합니다./etc/resolv.conf그럼에도 불구하고 교체하기보다는.

dhclient가 항목을 앞에 추가하는 것보다 교체하도록 하는 방법에 대한 더 많은 지침이 있다고 확신하지만 DHCP 교체를 차단하는 것만 큼 간단한 작업에는 너무 많은 연구와 골치 아픈 작업입니다./etc/resolv.conf별말씀을요.

답변2

dhclient이 패키지를 설치하면 이 문제를 해결할 수 있습니다 . 다음을 실행하여 마지막으로 Google의 DNS 서버를 활성화합니다.

sudo su "echo 'nameserver 8.8.8.8' > /etc/resolv.conf"

그런 다음 다음 명령 조합을 실행하십시오.

sudo apk update && sudo apk upgrade && sudo apk add dhclient

새로운 패키지를 가져와 설치하려면 다음을 dhclient구성 하고 입력하십시오./etc/dhcp/dhclient.conf

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

prepend domain-name-servers 8.8.8.8, 8.8.4.4;

네트워크를 다시 시작합니다.

sudo rc-service networking restart

(선택 사항) 다음 명령을 실행하면 작동하는지 확인할 수 있습니다.

sudo reboot

두 경우 모두 Google에 ping을 실행하여 DNS가 확인되었는지 확인할 수 있습니다.

ping google.com

답변3

Udhcpc에는 한 줄로 모든 사람이 액세스할 수 있는 /etc/udhcpc/udhcpc.conf가 필요합니다. dns="ns1 ns2"

관련 정보