CentOS 새로 설치시 DNS 문제


8

CentOS 6.2와 함께 설치할 새 상자에 DNS 문제가 있습니다.

nslookup, dig 또는 host를 사용하여 이름을 찾을 수 있습니다. 이름이나 IP 주소로 컴퓨터를 핑 (ping) 할 수 있습니다. 그러나 ssh, wget 또는 yum과 같은 다른 도구를 사용하면 이름을 확인할 수 없습니다. 예를 들면 다음과 같습니다.

# wget http://www.google.com
--2012-03-08 14:48:06--  http://www.google.com/
Resolving www.google.com... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'
# ssh www.google.com
ssh: Could not resolve hostname www.google.com: Name or service not known
# ping -c 1 www.google.com
PING www.l.google.com (74.125.113.106) 56(84) bytes of data.
64 bytes from vw-in-f106.1e100.net (74.125.113.106): icmp_seq=1 ttl=46 time=43.6 ms

--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 59ms
rtt min/avg/max/mdev = 43.665/43.665/43.665/0.000 ms
# host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.113.99
www.l.google.com has address 74.125.113.103
www.l.google.com has address 74.125.113.104
www.l.google.com has address 74.125.113.105
www.l.google.com has address 74.125.113.106
www.l.google.com has address 74.125.113.147

내 /etc/nsswitch.conf 파일은 다음과 같은 표준 행을 포함하여 기본값입니다.

hosts:      files dns

/etc/resolv.conf는 DHCP에 의해 설정됩니다 :

; generated by /sbin/dhclient-script
nameserver 192.168.1.254

192.168.1.254는 작동하는 DNS 서버입니다 (다른 컴퓨터에서 수년간 작동하는 DSL 모뎀).

핑이 작동하는 이유를 아는 사람이 있지만 ssh / wget이 실패하는 이유는 무엇입니까?


NcA의 제안에 따라 8.8.8.8을 가리 키도록 /etc/resolv.conf를 변경하려고 시도했습니다. 이상하게도 이것은 작동하게합니다. 분명히 내 DSL 모뎀은 Linux 해상도 시스템의 일부 부분이 싫어하는 방식으로 DNS 요청에 응답하고 있습니다. tcpdump를 보면 차이점이 무엇인지 알 수 없습니다. 확실히 두 서버 모두 같은 주소를 보내고 있습니다.

다음 tcpdump -nn -X은 서버가 DSL 모뎀의 DNS 서버로 설정된 출력입니다 . 올바른 주소로 명확하게 응답하지만 ssh / wget은 어떤 이유로 든 만족스럽지 않습니다.

15:53:52.133580 IP 192.168.1.254.53 > 192.168.1.2.54836: 33157 7/0/0 CNAME www.l.google.com., A 74.125.115.105, A 74.125.115.106, A 74.125.115.147, A 74.125.115.99, A 74.125.115.103, A 74.125.115.104 (148)
        0x0000:  4500 00b0 e33a 0000 ff11 53b1 c0a8 01fe  E....:....S.....
        0x0010:  c0a8 0102 0035 d634 009c 7528 8185 8180  .....5.4..u(....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0007 acd0 0008 0377 7777 016c c010  .........www.l..
        0x0050:  c02c 0001 0001 0000 0001 0004 4a7d 7369  .,..........J}si
        0x0060:  c02c 0001 0001 0000 0001 0004 4a7d 736a  .,..........J}sj
        0x0070:  c02c 0001 0001 0000 0001 0004 4a7d 7393  .,..........J}s.
        0x0080:  c02c 0001 0001 0000 0001 0004 4a7d 7363  .,..........J}sc
        0x0090:  c02c 0001 0001 0000 0001 0004 4a7d 7367  .,..........J}sg
        0x00a0:  c02c 0001 0001 0000 0001 0004 4a7d 7368  .,..........J}sh
15:53:52.135669 IP 192.168.1.254.53 > 192.168.1.2.54836: 65062- 0/0/0 (32)
        0x0000:  4500 003c e33b 0000 ff11 5424 c0a8 01fe  E..<.;....T$....
        0x0010:  c0a8 0102 0035 d634 0028 98f9 fe26 8000  .....5.4.(...&..
        0x0020:  0001 0000 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001            gle.com.....

나는 이것이 어떤 식 으로든 기형인지 아는 전문가는 충분하지 않지만 핑은 올바른 일을하는 것처럼 보입니다.

비교를 위해 8.8.8.8을 쿼리 할 때도 마찬가지입니다.

15:57:27.990270 IP 8.8.8.8.53 > 192.168.1.2.49028: 59114 7/0/0 CNAME www.l.google.com., A 74.125.113.105, A 74.125.113.103, A 74.125.113.106, A 74.125.113.147, A 74.125.113.104, A 74.125.113.99 (148)
        0x0000:  4500 00b0 5530 0000 2f11 6453 0808 0808  E...U0../.dS....
        0x0010:  c0a8 0102 0035 bf84 009c 39f8 e6ea 8180  .....5....9.....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 516a 0008 0377 7777 016c c010  ....Qj...www.l..
        0x0050:  c02c 0001 0001 0000 0116 0004 4a7d 7169  .,..........J}qi
        0x0060:  c02c 0001 0001 0000 0116 0004 4a7d 7167  .,..........J}qg
        0x0070:  c02c 0001 0001 0000 0116 0004 4a7d 716a  .,..........J}qj
        0x0080:  c02c 0001 0001 0000 0116 0004 4a7d 7193  .,..........J}q.
        0x0090:  c02c 0001 0001 0000 0116 0004 4a7d 7168  .,..........J}qh
        0x00a0:  c02c 0001 0001 0000 0116 0004 4a7d 7163  .,..........J}qc
15:57:28.018909 IP 8.8.8.8.53 > 192.168.1.2.49028: 31984 1/1/0 CNAME www.l.google.com. (102)
        0x0000:  4500 0082 7b1b 0000 2f11 3e96 0808 0808  E...{.../.>.....
        0x0010:  c0a8 0102 0035 bf84 006e c67e 7cf0 8180  .....5...n.~|...
        0x0020:  0001 0001 0001 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 517f 0008 0377 7777 016c c010  ....Q....www.l..
        0x0050:  c030 0006 0001 0000 0258 0026 036e 7334  .0.......X.&.ns4
        0x0060:  c010 0964 6e73 2d61 646d 696e c010 0016  ...dns-admin....
        0x0070:  91f3 0000 0384 0000 0384 0000 0708 0000  ................
        0x0080:  003c                                     .<

여전히 서버의 응답이 핑에 적합하지만 ssh / wget에는 적합하지 않은 이유를 모르겠습니다.

누구든지 아이디어가 있다면 기꺼이들을 수 있습니다. 그러나 지금은 외부 DNS 서버를 참조하거나 새 상자에 자체 서버를 설정할 수 있습니다. 불필요하게 보이지만 계속 진행할 수있는 해결 방법입니다.


"nameserver 8.8.8.8"을 /etc/resolv.conf에 추가하고 결과를 게시하십시오. 클라이언트 또는 서버 오류로 좁히십시오.
NcA

어떻게합니까 /etc/host.conf 파일의 모습처럼?
Nils

@Nils : /etc/host.conf가 기본값이며 'multi on'줄만 포함합니다.
Rick Koshi

로컬 서버와 8.8.8.8의 전체 발굴 결과를 게시 할 수 있습니까? 이 Centos 상자는 얼마나 오래 있었습니까? 이 DSL 모뎀 뒤에 다른 컴퓨터가 있습니까? WRT DNS 쿼리는 어떻게됩니까? Centos 상자를 다시 시작해 보셨습니까? 실수로 위의 출력을 자르지 않으면 두 덤프는 동일하게 보이지 않습니다. DSL 모뎀을 다시 시작해 보셨습니까?
kls

1
재미있는 문제. 그리고 문제를 해결하기 위해 매우 탄탄한 작업입니다.
jamieb

답변:


2

이것을 사용하여 : https://www.centos.org/modules/newbb/viewtopic.php?topic_id=39343

문제 해결에 도움이되는 주요 명령을 찾았습니다.

[root@localhost ~]# wget -6 URL -실패한

[root@localhost ~]# wget -4 URL 작동

특정 utils에 문제를 일으키는 기본 ipv6 스택과 관련이 있습니다. 해결하려면 ipv6을 비활성화하십시오.


ipv6에 +1 pingv4 전용 ( ping6v6 핑에 대한 것 )이며 그것이 작동하는 이유입니다. 그러나 나는 그것을 비활성화하지 않는 것이 좋습니다-많은 현대 ISP가 v4에서 더 나쁩니다. 많은 사람들이 NAT를 옆에두고 ... 모뎀의 DNS 서버가 AAAA 레코드를 제대로 지원하지 않아이 어색한 오류가 발생했다고 생각합니다. Google DNS 또는 OpenDNS가 좋은 해결책 일 수 있습니다.
rvs

2

나는 같은 문제가 있지만 그것을 고쳤다.

인터페이스 구성 파일에 DNS를 추가해야합니다 /etc/sysconfig/network-scripts/ifcfg-eth0. 라인 추가

DNS1=xxx.xxx.xxx.xxx

그런 다음 네트워크 서비스를 다시 시작해야합니다.

# systemctl restart NetworkManager

나를 위해 작동하지 않았다 :(
VaTo

1

방화벽을 먼저 중지하십시오. 가능하면 네트워크 문제를 해결할 때 항상 방해가되지 않도록하십시오. 방화벽을 삭제하고 문제가 해결되면 문제가 해결되지 않았지만 지금은 문제가 해결되지 않은 것입니다.

1) iptables -L 나가는 패킷에 영향을 줄 수있는 DROP 규칙이 있는지 확인

2) selinux가 실행 중이고 이상한 일이 있는지 확인하십시오 (/ etc / selinux / config)

3) 다음의 결과는 무엇입니까 : route -n

4) / etc / sysconfig / network-scripts / ifcfg-eth0의 모양

5) 문제없이 게이트웨이를 ping 할 수 있습니까?

이 중 하나가 문제를 진단하는 데 필요한 정보를 제공하기를 바랍니다.


1

원래 게시물을 기반으로 8.8.8.8을 추가 /etc/resolv.conf했으며 /etc/sysconfig/network-scripts/ifcfg-eth0편집으로도 문제가 해결되지 않았습니다.

그런 다음 편집했습니다 /etc/nsswitch.conf.

기발한

hosts:          files  mdns4_minimal [NOTFOUND=return] dns mdns4

편집

hosts:          files  dns mdns4_minimal [NOTFOUND=return] mdns4

이제 DNS는 yum과 wget에서 작동합니다.


0

주문 호스트 를 추가 하고 /etc/host.conf에 바인딩하십시오 .


-1

/etc/resolv.conf에 "옵션 단일 요청"행을 추가하십시오. 이것은 libc에게 2 개의 요청 (A와 AAAA)을 같은 포트에서 보내지 않고 요청하게합니다. 도움이 될 것입니다.

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