/etc/resolv.conf에서 네임 서버 주소를 영구적으로 만드는 방법은 무엇입니까?


14

설정 한 이름 서버 주소를 유지할 수 없습니다 /etc/resolv.conf. 값을 설정할 때마다 네트워크 관리자는 재부팅시 기본 게이트웨이로 값을 무시합니다.

올바르게 설정하는 방법?

라우터에서 이름 서버를 변경하는 것 이외의 방법을 선호합니다.


NetworkManager(첫 번째 줄에 표시된 것처럼) 로 변경해야합니다 . 이 파일은 부팅 할 때마다로 다시 생성됩니다 NetworkManager. linux-distro (내가 언급하지 않은)에 접근하는 방법에 달려 있습니다 NetworkManager.
Rik

답변:


13

때에 따라 다르지. 끝까지 읽으십시오.

resolvconf 패키지가 설치되어 있지 않은 경우 간단합니다. 원하는 방식으로 변경 한 후 명령을 실행하십시오.

 sudo chattr +i /etc/resolv.conf

이 명령은 파일 속성을 변경하여 immutable(+ i 옵션) 만듭니다.

그러나 resolvconf 패키지가 설치되어 있으면 /etc/resolv.conf 파일이 심볼릭 링크로 변환 될 수 있습니다.

 # file /etc/resolv.conf
 /etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'

이것은 비 영구 버전의 전형 인 가상 파일 시스템의 파일입니다. 재미있는 것은 최신 버전의 데비안 유사 OS가 사전 설치되어 있기 때문에 resolvconf가 설치되어 있음을 알지 못할 수 있다는 것입니다. 다음 명령을 실행하여 배포판이 설치했는지 확인할 수 있습니다.

 #whereis resolvconf
 resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz

가장 중요한 것은 /etc/resolv.conf위의 명령 (파일 /etc/resolv.conf)을 사용하여 링크로 변환 되었는지 여부를 설정할 수 있습니다 . 답장이 ASCII text이면을 사용하고 chattr, 그렇지 않으면 ...

고정 IP를 사용하는 경우 가장 간단한 방법은 다음 줄을 추가하는 것입니다.

 dns-nameservers 8.8.4.4 8.8.8.8

/ etc / network / interfaces에서 정적 인터페이스의 특성을 정의하는 스탠자.

대신 다른 네트워크에 항상 연결되는 랩톱을 사용하는 경우 LawrenceC훌륭한 제안을 따를 수 있습니다 . 그러나 시스템에 resolvconf 가있는 경우 고정 DNS 세트를 제공하는 올바른 (가장 간단한) 방법은 /etc/resolvconf/resolv.conf.d 의 파일을 사용하는 것 입니다. 특히 다음 파일이 사용됩니다 ( Stephane Graber 페이지 참조 ).

기본 : 다른 데이터를 찾을 수 없을 때 사용

head : resolv.conf의 헤더에 사용되며 DNS 서버가 항상 목록의 첫 번째 서버인지 확인하는 데 사용할 수 있습니다

tail : tail의 모든 항목은 결과 resolv.conf의 끝에 추가됩니다.

따라서 다음과 같이 좋아하는 네임 서버를 head에 배치하십시오.

  nameserver 8.8.8.8

그리고 당신은 끝났습니다.


2
@dhiller Ultrasawblade는 그의 이름을으로 변경했습니다 LawrenceC. 아래는 다음과 같습니다.
MariusMatutiae 2016 년

매우 훌륭하고 흥미로운 게시물로, 주제에 대해 더 많이 알고 싶은 사용자를 위해이 주제에 대한 문서 링크를 추가하고 싶습니다. Thx
Philippe Gachoud

/etc/resolvconf/우분투 18.04에는 기본적으로 존재하지 않습니다.
Dan Dascalescu

9

/etc/dhcp/dhclient.conf루트 터미널 을 사용 하는 것과 비슷한 줄을 추가하십시오 .

supersede domain-name-servers 74.122.198.48, 50.116.23.211;

이로 인해 dhclientDHCP 요청을 발행하고 응답에 따라 변경되는 프로그램이 변경되기 전에 DHCP 서버에서 얻은 정보를 위의 정보로 대체합니다.

위는 두 개의 OpenNIC DNS 서버입니다. 사용하려는 서버에 따라 필요에 따라 교체하십시오.

이것은 DHCP에서 구성 정보를 얻을 때마다 발생하므로 dhclient -v eth0다른 인터페이스를 사용 하여 새로 고치고 변경 사항을 확인하십시오.


1
DNS (보통 라우터)를 재정의하는 대신 행 prepend domain-name-servers 8.8.8.8을 추가 할 수 있습니다 . 가능한 경우 ISP의 DNS를 사용합니다.
Axel Latvala

3

@Rik에서 언급 한 것처럼 재부팅시 DNS 교체 이유는 네트워크 관리자 / 유틸리티가 설정되어 있기 때문입니다. Linux Mint에서는 스크린 샷별로 IPv4 방법을 DHCP (자동) 주소로만 설정했습니다. 그런 다음 /etc/resolv.conf 또는 DNS 서버 섹션에서 올바른 설정을 입력 할 수 있습니다. 우분투 13.04에서 내 이름 서버는 오랜 시간에 걸쳐 몇 번 바뀌 었다는 것을 기억하지만 실제로 GUI에서 편집하고 편집 한 후에는 모두 안정적으로 보였습니다.

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

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


3

같은 문제가 있었지만 고정 IP 주소를 사용합니다. 수정은 방금 / etc / network / interfaces에 dns를 추가하는 것이 었습니다

iface eth0 inet static
    address [your ip>
    netmask [your netmask]
    network [your network]
    broadcast [your broadcast]
    gateway [your gateway]
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers [dns server1] [dns server2]
    dns-search [your domain]

예, NetworkManager는에 나열된 인터페이스를 무시하므로 수정합니다 /etc/network/interfaces. 잘 잡아!
Izzy

1

wicd를 사용한 경우 아이콘을 마우스 오른쪽 단추로 클릭하고 연결 정보를 클릭하십시오. 창이 열리면 연결된 속성을 클릭하십시오.

고정 DNS를 사용하고 Google DNS의 IP에 DNS 서버 1 유형을 입력하고 8.8.8.8DNS 서버 2 유형에 대한 라인을 표시 한 라인에서 8.8.4.4"확인"을 클릭하십시오.

기본값에서 오류가 발생하면 ISP에 문의하여 언급 할 수 있습니다. 그들은 일반적으로 DNS 서버를 연결할 때 모뎀에 DNS 서버를 할당합니다.


0

chattr +i이와 같은 방식으로 해킹하는 것은 최선의 해결 방법이며 가능한 한 항상 피해야합니다 (적어도 장기적인 경우 – 실제 솔루션을위한 시간을 찾을 때까지는 단기적인 해결 방법입니다) . 이미 지적했듯이 이는 NetworkManager의 작업으로,이를 위해 사용할 수있는 CLI를 제공합니다.

# 조정할 인터페이스를 찾으십시오
nmcli 장치
출력은 다음과 같습니다.
# 장치 유형 상태 연결
# enp0s3 이더넷으로 연결된 내 사무실
# lo 루프백 비 관리 형-
# CONNECTION이 필요합니다.

# 이제 "검색 도메인"을 추가하십시오 :
nmcli 연결 수정 내 사무실 ipv4.dns-search example1.com
nmcli con mod 내 사무실 + ipv4.dns-search example2.com

# 그리고 우리의 네임 서버 :
nmcli con 수정 내 사무실 ipv4.dns 213.73.91.35
nmcli con 내 사무실 + ipv4.dns 87.118.100.175 수정
# 두 번째 줄의 "+"에주의하십시오.
# 첫 줄이 기존 항목을 덮어 씁니다.
# 한 번의 호출로이를 수행 할 수 있습니다.
nmcli con my office ipv4.dns "213.73.91.35 87.118.100.175"수정

# 이제 DHCP 서버의 업데이트를 무시하도록하겠습니다 :
nmcli con 수정 내 사무실 ipv4.ignore-auto-dns 예

# 실행중인 구성에 수정 사항을 적용하십시오.
nmcli는 내 사무실을 위로

고정 IP 주소를 사용하는 경우 kanelbolle 's answer 의 솔루션을 사용할 수도 있습니다 .


0

놀라운이 작은 문제를 실망하는 얻을 수있는 방법,시기 솔루션 제공 을 위해 Ubunutu 18.04에서 더 이상 작동하지 않습니다 그것.

나를 위해 일한 것은 단순히 모든 부팅 nameserver에서 값을 덮어 쓰는 것이 었습니다 /etc/resolv.conf. 이 줄을 sudo편집 /etc/rc.local하고 추가하십시오.

 sed -i "s/nameserver 127.0.0.53/nameserver 8.8.8.8/" /etc/resolv.confsudo /etc/rc.local
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.