ubuntu 12.04 의 resolv.conf 가 비었어요.

설치하고 나니 서버 내부에서 밖으로 연결이 안된다.
외부에서 서버로 되는게 이상하다.

암튼. 찾아보니 /etc/resolv.conf 가 비어있다.
친절한 메시지와 함께.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

요약하면, resolvconf 가 먼저 접수했다. 만지지마!!
암튼. resolv.conf 를 건드리는 패키지가 dhcp client 였나 그게 그랬던것 같다.


직접 수정해도 되지만, 재부팅하면 다시 비워져 있을 것이다.

/run/resolvconf/resolv.conf  에 심볼릭 링크되어 있다.
resolvconf 패키지가 부팅하면서 저 파일을 생성하고, symlink 시킨다.

부팅해도 설정 안 바뀌게 하려면.

/etc/resolvconf/ 이 폴더에 뭐가 있지 않을까?

cat /etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

어! 여기에 같은 내용이 들어 있네.

저기에 넣으면 부팅할때 그대로 있지 않을까? 해보자.

nameserver 8.8.8.8
nameserver 164.124.101.2

등 넣고 싶은 네임서버를 넣어준다.

그리고 재부팅해볼까?
싫어 명색이 서버인데, 재부팅은

그냥

# service resolvconf restart

또는 /etc/init.d/resolvconf restart


역시 예상대로 /etc/resolv.conf 가 head 에 넣은대로 되었다.

다른파일도 있는데, head , base 이렇게 있다.
말뜻이 뭔가 구분을 한것 같은데, head 가 아니라 base 에 넣어야 할 것 같아서 바꿔서 넣었다.

좀더 찾아보니.
http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

대충 읽어보니 head 에 넣는게 맞는 것 같다. 제일 먼저 찾게 만들려면.



언제 부터 바뀌었는지 모르겠지만, ubuntu 12.04 는 저렇게 되어 있군.
뭔가 심오한 뜻이 있는 것인가?

보통 저 패키지를 지우는 방법을 쓰기는 한다.(마치 centos/redhat 쪽의 selinux 를 끄는 것 처럼)

그래도 배포판이 지지하는 방법을 따라주는 것이 좋지 않을까?
(근데 좀 이유좀 알려줘 - 링크 정도는 하나 던져줘도 되잖아?)


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,