인터페이스에서 정적 DNS를 어떻게 구성합니까?


60

우분투 12.04를 사용하고 있습니다.

/etc/network/interfaces파일은 다음으로 구성됩니다.

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

나는 명령을 실행했다 : /etc/init.d/networking restart

어떤 응답 :

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

다음으로 ping google.com을 실행하고 다음을 받았습니다.

ping: unknown host google.com

인터페이스가 새로 고쳐 졌는지 확실하지 않습니다. 고정 DNS 주소로 네트워크를 올바르게 구성하려면 어떻게합니까?


1
컴퓨터를 재부팅하십시오. /etc/init.d/networking restart를 실행하지 마십시오. 기본 경로가 이미 존재하기 때문에 오류가 발생합니다. 이 설정은 나에게 맞습니다.
Matt H

2
Matt H가 말했듯 /etc/network/interfaces이 이미 존재하는 것들에 대해 까다 롭습니다. 당신은 완벽한 설정을 할 수 있지만 이미 거기에 무언가가 있으며, 그것은 불평 할 것입니다. 그것이 불평하는 기본 경로 인 경우 ip route del default, 컴퓨터를 실행 하여이 물건의 관리를 사용자에게 넘겨 줄 수있는 상태로 만들 수 있습니다./etc/network/interfaces
Azendale

네트워크 관리자가 다른 피해자를 주장했습니다. 그 쓰레기를 삭제하십시오.
올빼미

답변:


24

질문자가 자신의 내용을 제공함에 따라 /etc/network/interfaces인터페이스를 구성하기 위해 ifup을 사용하고 있다고 추론합니다. 그러나 실제로 NetworkManager를 사용하고 있기 때문에 이에 대해서도 논의 할 것입니다.

ifup을 사용하는 경우 DNS 설정이 시작됩니다 /etc/network/interfaces. 각 인터페이스에 dns-*대해 해당 인터페이스를 통해 사용 가능한 네임 서버에 적합한 옵션 을 추가하십시오 . 예를 들어, 주소 1.2.3.4의 이름 서버가 eth0 인터페이스를 통해 사용 가능한 dns-nameservers 1.2.3.4경우 iface eth0스탠자에 추가 하십시오 .

NetworkManager를 사용하는 경우 IPv4 설정 탭의 연결 편집기 (네트워크 표시기 | 연결 편집 ...)에 설정이 입력됩니다.

이렇게 /etc/init.d/networking restart인터페이스를 재구성하는 것은 지원되지 않습니다. 사용중인 ifup경우 먼저 ifdown각 활성 네트워크 인터페이스를 사용하고 ifup각 인터페이스를 사용하십시오. NetworkManager를 사용하는 경우 먼저 표시기 (데스크톱 상단)를 사용하여 네트워킹을 비활성화하십시오. 그런 다음 터미널을 열고 실행

sudo /etc/init.d/network-manager restart

그런 다음 표시기를 사용하여 네트워킹을 활성화하십시오.

아니면 그냥 재부팅하면됩니다.

/etc/init.d/networking restart결과로

RTNETLINK answers: File exists
Failed to bring up eth0  

이것은 ifupdown eth0이 이미 작동 중이라고 생각한다는 것을 의미 합니다. 사용 ifdown --force eth0의 원인 ifupdown이 이미 인터페이스를 구성했다고 믿는 중지 할 수 있습니다.

"더 이상 사용되지 않는"메시지와 관련하여이 메시지는 더 이상 Ubuntu 12.10에서 인쇄되지 않지만 initscripts는 "제출되지 않습니다"는 점에 유의해야합니다. 서비스를 다시 시작하려면 또는을 foo사용하십시오 . 또한 인터페이스를 재구성하려면 "네트워킹"재시작에 의존하는 것보다 인터페이스를 하나씩 다운시키는 것이 좋습니다.service foo restartrestart foo


17

위의 작업 중 어느 것도 작동하지 않으면 Ubuntu tail가 생성하는 resolv.conf 파일에 파일을 추가합니다 .

이 시도:

sudo nano /etc/resolvconf/resolv.conf.d/tail

나노 텍스트 편집기에서 빈 resolv.conf.d 파일이 열립니다. 이 파일의 첫 번째 줄에 DNS 서버 주소를 배치하고 아래에 표시된대로 캐리지 리턴 (히트 입력)으로 줄을 끝내야합니다.

nameserver 10.20.1.2

실제 resolv.conf 파일 대신 테일 파일을 편집하면 시스템 재부팅시 변경 사항이 손실되지 않습니다.

sudo resolvconf -u변경 사항을 활성화하려면 실행해야합니다 . 이 후에 google.com을 핑할 수 있어야합니다. 행운을 빕니다!


잘 들리지만 우분투 14.04 시스템은이 꼬리 파일을 사용하지 않았습니다. 그래서 이것은 내 경우에는 해결책이 아닙니다. 그래도 고마워.
James T Snell

11

명령 행 버전 :

다음과 같이 /etc/resolvconf/resolv.conf.d/base파일 서버에 네임 서버를 추가해야합니다 .

nameserver 66.212.63.228 
nameserver 66.212.48.10

몇 시간 안에이 방법을 시도하고 다시 연락을 드릴 것입니다. 더 이상 사용되지 않는 메시지를 수신하고 eth0 메시지를 표시하지 못한 이유를 알고 있습니까?
dotsquad

1
당신은 이것을 사용할 수 있습니다 : 여기$ ifdown eth0 && ifup eth0 에서이 문제에 대해 자세히 읽으 십시오 .
pl1nk

1
: @dottedquad이에 / etc / network / interfaces 파일을 변경할 것입니다 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255:이주의해야 auto eth0 iface eth0 inet static두 줄입니다
pl1nk을

1
bodhi.zazen에 설명 된대로 NetworkManager 연결 (NetworkManager를 사용하는 경우) 또는 / etc / network / interfaces (ifup을 사용하는 경우)의 인터페이스 정의에 이름 서버 정보를 추가하여 정적 및 전역 적으로 정보를 추가하는 것이 좋습니다. /etc/resolvconf/resolv.conf.d/base에 연결하십시오.
jdthood

1
@jdthood 그것은 당신이 내 의견과 질문뿐만 아니라 다른 답변을 본 것 같습니다! 일부 의견 업 [..] "당신은이를 사용할 수 있습니다 : $으로 ifdown eth0를 && ifup을 eth0를"[..]
pl1nk

11

/ etc / network / interfaces와 관련된 모든 답변 은 아래의 상태가 dns-nameservers아니라 잘못 dns-nameserver설명되어 있습니다.

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(우분투 15.04에서 테스트)


8
꼼꼼한. 방금 dns-nameserver(단일) RaspberryPi + Raspian Jesse에서 작동하지 않는다는 것을 확인했습니다 . 나는 (복수) 를 사용해야 한다는 것을 알았 습니다dns-nameservers . YMMV 모든 것을 바로 다음 사람을 도와 주려고는 ...
evadeflow

2
사용법과 옵션은 resolvconf (8) 매뉴얼 페이지를 확인하십시오. Ubuntu 16.04.3 LTS에서는 라인 당 하나의 IP 주소로 하나 이상의 dns-nameserver 라인을 사용하거나 dns-nameservers와 공백으로 구분 된 IP 주소 목록을 사용할 수 있다고합니다.
jla

dns-nameserver또는 dns-nameservers? 왜냐하면 wiki.ubuntu.com/KvmWithBridge 는 "서버"라고 말합니다.
Thufir

확실히 나를 위해 작동하지 않습니다. 아직 포인트가 충분하지 않아 투표를 할 수 없습니다.
올빼미

그래, 이것은 좋고 일관성이 있습니다! 혼란을 드려 죄송합니다. Ubuntu / Debian / Raspian 변형이 다르면 위의 주석을 확인하십시오.
babelmonk

6

DNS 서버를 구성하는 가장 쉬운 방법은 NetworkManager를 사용하는 것입니다

IPv4에서 DNS 서버를 작성하십시오

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


2
나는 통일이나 그놈이 설치되어 있지 않다는 것을 잊어 버렸습니다. 그놈 설치는 다음 프로젝트입니다.
dotsquad

저장하지 못하게합니다. 왜 그런가요?
josh

4

헤드리스 우분투 서버 설치 에서이 문제를 해결할 수있었습니다.

nameserver 8.8.8.8

... / etc / network / interfaces의 관련 인터페이스 다음에 :

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

이것이 나중에 사용자에게 도움이되기를 바랍니다!


에 대한 dns-nameservers당신은 8.8.8.8, 8.8.4.4를 분리해서 쉼표 할 수 있습니까?
Thufir


4

참고 : 기계에 직접 액세스하지 않고 조심스럽게 사용하면 연결이 끊어집니다 ...

나는 사용한다

sudo ifdown eth0

그때

sudo ifup eth0

모든 것을 재설정하고 해제합니다 ...

구성과 관련된 오류가 발생하면 다음을 사용할 수 있습니다.

sudo ifdown eth0 --force

3

이것은 나를 위해 일했다

sudo vi /etc/resolvconf/resolv.conf.d/base

그리고 추가하십시오 :

nameserver <add your router ip>

운영:

sudo resolvconf -u

우분투 서버의 핵심 설치를 사용합니다.


2

인터페이스 파일에 서브넷 사양이 없습니다.

네트워크 라인 아래에 넷 마스크 255.255.255.0를 추가하십시오 /etc/network/interfaces.


1

어떤 이유로 든 dns-nameservers진술은 내 경우에는 아무것도하지 않습니다. 그리고 다른 답변은 dnsmasq우분투에서 사용되는 것처럼 우회 하기 때문에 책이 아닙니다 .

이 작업을 수행하려면 편집 /etc/dnsmasq.conf

파일 서버에 이름 서버를 추가하십시오.

server=8.8.8.8
server=8.8.4.4

새로운 설정을 사용하려면 dnsmasq를 다시 시작하십시오. sudo service dnsmasq restart

크레딧 : https://unix.stackexchange.com/a/163506/187949


1

나는이 문제가 있었다. 나는 화가 났다고 생각했다. 내가 편집 /etc/resolv.conf할 때 마다 구성이 삭제되었습니다. 일부 미치광이가 네트워크 관리자와 함께 데비안을 배포했으며 내 네트워크 설정을 덮어 씁니다.

이것이 내가 고친 방법입니다.

1) sudo apt-get purge network-manager

이것은 모든 구성이 올바르게 작동하지 못하게하는이 끔찍한 새로운 도구를 제거합니다.

2) /etc/network/interfaces파일을 편집 하십시오.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) /etc/resolv.conf를 편집하십시오 :

nameserver 8.8.8.8
nameserver 8.8.4.4

4) 재부팅하십시오.

축하합니다. 이제 다시 작동하는 제정신 구성이 있습니다.


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