우분투 리눅스 도메인네임 관련 문제
안녕하세요
우분투 8.10을 깔아서 쓰고 있는데 몇몇 프로그램에서 url을 못 받아들이는 문제가 있어서 질문 드립니다.
이것저것 테스트해본 바로는 ssh, w3m, apt-get, svn, git 등등에서 ip주소가 아닌 도메인 네임을 전혀 이해하지 못하는 것 같습니다.
혹시 dns 문제인가 의심해봤는데 ping, links2 두 가지의 프로그램에서는 문제없이 동작하는걸로 봐서 그건 아닌것같구요...
ip주소로 하면 별 탈이 없는지라 source.list에 미러도 ip주소로 바꿔서 쓰고는 있는데
원인이 무엇일지...고수님들의 답변 부탁드립니다.
$ w3m http://www.naver.com
w3m: Can't load http://www.naver.com.
$ ssh xxx.net
ssh: Could not resolve hostname xxx.net: Name or service not known
$ sudo apt-get update
오류 ftp://ftp.daum.net intrepid Release.gpg
'ftp.daum.net'의 주소를 알아낼 수 없습니다
오류 ftp://ftp.daum.net intrepid/main Translation-ko
'ftp.daum.net'의 주소를 알아낼 수 없습니다
오류 ftp://ftp.daum.net intrepid/multiverse Translation-ko
'ftp.daum.net'의 주소를 알아낼 수 없습니다
오류 ftp://ftp.daum.net intrepid/restricted Translation-ko
'ftp.daum.net'의 주소를 알아낼 수 없습니다
오류 ftp://ftp.daum.net intrepid/universe Translation-ko
'ftp.daum.net'의 주소를 알아낼 수 없습니다...
<중략>
...
W: ftp://ftp.daum.net/ubuntu/dists/intrepid-updates/Release.gpg 파일을 받는 데 실패했습니다 'ftp.daum.net'의 주소를 알아낼 수 없습니다W: ftp://ftp.daum.net/ubuntu/dists/intrepid-updates/main/i18n/Translation-ko.bz2 파일을 받는 데 실패했습니다 'ftp.daum.net'의 주소를 알아낼 수 없습니다
W: ftp://ftp.daum.net/ubuntu/dists/intrepid-updates/multiverse/i18n/Translation-ko.bz2 파일을 받는 데 실패했습니다 'ftp.daum.net'의 주소를 알아낼 수 없습니다
W: ftp://ftp.daum.net/ubuntu/dists/intrepid-updates/restricted/i18n/Translation-ko.bz2 파일을 받는 데 실패했습니다 'ftp.daum.net'의 주소를 알아낼 수 없습니다
W: ftp://ftp.daum.net/ubuntu/dists/intrepid-updates/universe/i18n/Translation-ko.bz2 파일을 받는 데 실패했습니다 'ftp.daum.net'의 주소를 알아낼 수 없습니다
W: 일부 인덱스 파일을 내려받는 데 실패했습니다. 해당 파일을 무시하거나 과거의 버전을 대신 사용합니다.
W: apt-get update를 실행하면 이 문제를 바로잡을 수도 있습니다.
DNS가 문제인 경우 다음을 확인하세요.
$ nslookup ftp.daum.net
...
Non-authoritative answer:
Name: ftp.daum.net
Address: 211.62.252.36
이렇게 IP가 나왔다면 성공! 그러나 인터넷은 잘 되는데 안된다면, 다음 설정을 하셨는지 확인하세요.
ssukmaec님은 2번 DSN설정을 참고하세요.
1. iptables :
DNS로부터 들어오는 패킷을 막았는가! 기본 INPUT이 DROP상태라면 허용된 ip나 포트 이외의 접속을 막았는 경우 이런 문제가 발생함. --> 1번의 경우 해결책으로 가시오!
2. DNS설정 :
DHCP를 사용하거나 고정 IP를 사용하는데 예전에 잘 동작한 DNS서버가 지금은 없거나 비정상적으로 동작하는 경우 이런 문제가 발생함. ---> 2번의 경우 해결책으로 가시오!
1번의 경우 해결책
======================
$ sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.100.0/24 anywhere
ACCEPT all -- kns.kornet.net anywhere
ACCEPT all -- kns2.kornet.net anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
혹시 iptables를 설정했다면 DNS를 허용하셨는지 확인하세요. 허용을 하지 않았다면 nslookup같은 것은
사용할 수 없습니다. 그렇다고 apt-get을 정상적으로 이용할 수 있는 것은 아닙니다.
외부에서 들어오는 패킷이 차단된다면 역시나 문제입니다.
이런 경우 iptables 자체를 일시적으로 모두 허용합니다.
$ sudo iptables -A INPUT ACCEPT
$ sudo iptables -F
이렇게 하면 일시적으로 모두 허용됩니다.
$ sudo apt-get update
... {중략} ...
받기:32 http://ftp.daum.net hardy-backports/main Sources [17.6kB]
받기:33 http://ftp.daum.net hardy-backports/restricted Sources [14B]
받기:34 http://ftp.daum.net hardy-backports/universe Sources [26.7kB]
받기:35 http://ftp.daum.net hardy-backports/multiverse Sources [4064B]
받기:36 http://security.ubuntu.com hardy-security/universe Sources [15.5kB]
받기:37 http://security.ubuntu.com hardy-security/multiverse Packages [12.2kB]
받기:38 http://security.ubuntu.com hardy-security/multiverse Sources [1104B]
내려받기 9036k바이트, 소요시간 19s (474k바이트/초)
꾸러미 목록을 읽는 중입니다... 완료
잘 됩니다. 다시 iptables를 적용하고 싶다면, 리부팅 하세요.
물론 iptables관련 룰이 재시작시 자동으로 적용되도록 되어 있어야 하겠죠!
자세한 것은 iptables를 참고하시면 됩니다.
우분투에서는 iptables-save, iptables-restore를 통해서 생성된 iptables의 룰을
출력하고 나중에 다시 복원해서 사용할 수 있습니다.
어쨌든 iptables가 문제가 되는 경우 였습니다.
그런데 ssukmaec님께서는 Domain을 IP로 바꾸니 됐다고 하셨다는 것으로 봐서는 iptables의 문제는
아닌 듯 합니다. IP로 바꿔도 iptables에서 입출력 제어에서 필터링 되면 들어오지 않습니다.
2번의 경우 해결책
======================
그런데 iptables를 설정하지 않았는데도 그렇다면 DNS설정이 올바른지 확인하세요.
인터넷 설정이 DHCP인 경우 DNS가 올바르게 받아지지 않았다면 강제로 설정을 하셔도 좋습니다.
$ cat /etc/resolv.conf
보시면 나오는데 이 DNS가 올바른지 확인하세요.
이것을 바꿔보시고 네트워크를 다시 시작합니다.
$ sudo /etc/init.d/networking restart
그리고 nslookup으로 다시 한번 확인하세요.
정말 감사합니다ㅜ_ㅜ
한참 해매다가 네임서버 생각도 못하다가 이제 알앗네여 감사합니다.
하이유~~~
댓글 달기