SSHD 역방향 매핑이 실패하지만 nslookup, dig 및 host가 올바르게 확인


0

방금 홈 네트워크를 관리하기 위해 dhcp / dns 서버를 설정했습니다. 모든 것을 준비하고 실행 한 후 (그리고 아마도주의를 기울이지 않았을 때) ssh에 로그인하는 것이 느리다는 것을 알았습니다. 디버그 모드에서 sshd를 시작 /sbin/sshd -ddd하고 두 번째 PuTTy 인스턴스를 시작했습니다.

물론 범인은 즉시 분명해졌습니다.

debug3: Trying to reverse map address 10.0.0.22.
reverse mapping checking getaddrinfo for mt.local [10.0.0.22] failed - POSSIBLE BREAK-IN ATTEMPT!

내 IP를 내 호스트 이름으로 되돌릴 수 없습니다. DNS 레코드가 모두 nslookup에 따라 순서대로 정렬되었다는 점을 고려하면 특이합니다.

[root@media] # nslookup mt.local
Server:        10.0.0.2
Address:       10.0.0.2#53

Name:   mt.local
Address: 10.0.0.22

[root@media] # nslookup 10.0.0.22
Server:        10.0.0.2
Address:       10.0.0.2#53

22.0.0.10.in-addr.arpa  name = mt.local

숙주:

[root@media] # host mt.local
mt.local has address 10.0.0.22
[root@media] # host 10.0.0.22
22.0.0.10.in-addr.arpa domain name pointer mt.local.

발굴 :

[root@media] # dig mt.local

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> mt.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12144
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mt.local.                      IN      A

;; ANSWER SECTION:
mt.local.               300     IN      A       10.0.0.22

;; AUTHORITY SECTION:
local.                  300     IN      NS      media.local.

;; ADDITIONAL SECTION:
media.local.            300     IN      A       10.0.0.2

;; Query time: 0 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Jul 15 23:02:34 EDT 2014
;; MSG SIZE  rcvd: 89

[root@media] # dig -x 10.0.0.22

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> -x 10.0.0.22
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5476
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;22.0.0.10.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
22.0.0.10.in-addr.arpa. 300     IN      PTR     mt.local.

;; AUTHORITY SECTION:
0.0.10.in-addr.arpa.    300     IN      NS      media.local.

;; ADDITIONAL SECTION:
media.local.            300     IN      A       10.0.0.2

;; Query time: 1 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Tue Jul 15 23:03:59 EDT 2014
;; MSG SIZE  rcvd: 109

그리고 자세한 설명을 위해 /etc/resolv.conf:

search local
nameserver 10.0.0.2

역 매핑이 실패 해야하는 이유를 찾을 수 없습니다. 그리고 그것이 실패하기 오래 전에 중단 된 이유를 찾을 수 없습니다-DNS 서버는 0.5ms 떨어져 있습니다.

예, 역 매핑을 끌 수 있다는 것을 알고 있지만 실제로는 그렇지 않습니다. 모든 도움을 주셔서 감사합니다!

아마도 이것이 10.0.0.0/24 네트워크에 있다는 것을 알아야합니다. 모뎀 / 게이트웨이는 10.0.0.1입니다. dns / dhcp / 내가 말한 (미디어) 상자는 10.0.0.2입니다. 내 데스크탑 (mt)은 10.0.0.22입니다. 로컬 도메인은 .local이며 DHCP에 연결된 역방향 DNS 매핑이 있습니다.


1
dig, host그리고 nslookup모두 DNS를 확인하지만 다른 시스템은 없으며 /etc/hosts파일을 먼저 사용하도록 시스템이 구성되지 않으며 DNS보다 /etc/nsswitch.conf다른 호스트 데이터베이스 (예 : NIS, LDAP)를 사용 하도록 구성 될 수도 있습니다 . 이 검사 getent hosts 10.0.0.22는 nsswitch.conf를 준수하고 시스템 확인자 및 getaddrinfo 반환되는 내용과 일치합니다 .
HBruijn

ssh client 또는 ssh server machine의 resolv.conf를 표시합니까?

@HBruijn 불행하게도 getent는 동일한 결과를 제공합니다. getent hosts 10.0.0.22는 10.0.0.22 mt.local을 반환합니다.
Chris

@Bushmills 서버의 resolv.conf입니다. 클라이언트는 cygwin / windows입니다.
Chris

tcpdump 또는 tshark를 실행하고 udp / 53 dest 트래픽을 모니터링하여 문제 도메인을 분할하여 리버스 확인을 시도 할 때 실제로 네임 서버가 쿼리인지 확인합니다. 어쩌면 네임 서버에 해당 쿼리를 로깅하여 대신 로그를 확인할 수 있습니다.

답변:


2

.local은 종종 '특별한'도메인으로 간주됩니다. avahi / bonjour / mdns 등은 도메인 이름으로 사용하며 DNS를 제공하는 데 사용하는 것을 말하지는 않지만 avahi가 아닌 것 같습니다.

/etc/nsswitch.conf의 'hosts'줄은 어떻게 생겼습니까?

nslookup, host 및 dig는 구성된 리졸버를 사용하지만 ssh는 nsswitch.conf를 사용하여 단계별 옵션 목록을 제공합니다. 이러한 옵션 중 하나는 mdns 또는 mdns4 일 수 있습니다. 예 :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

로컬 도메인 이름을 .local 이외의 이름으로 변경하거나 호스트에서 mdns * 항목을 제거하는 것이 좋습니다. nsswitch.conf의 line : 예 :

hosts:          files dns

아니요, 아바 히가 아닙니다. 나는 일을 어렵게 만들고 싶습니다. Bind9를 사용하고 있습니다. nsswitch.conf의 줄은 hosts: files mdns4_minimal [NOTFOUND=return] dns예상 한대로이지만 변경해 hosts: files dns도 아무런 차이가 없습니다.
Chris

0

문제는 간단하고 어리석은 것으로 판명되었으며 운영자 오류로 인해 발생했습니다. 분명히, 무한한 지혜로, mt의 정적 임대에 대해 다음 구성 (dhcpd.conf에)이 있습니다.

host mightyturing {
     hardware ethernet <MAC>;
     option host-name "mightyturing";
     ddns-hostname "mt";
     fixed-address 10.0.0.22;
};

따라서 SSHD가 맞았습니다. 리버스 맵이 설정된 호스트 이름과 일치하지 않습니다. ddns-hostname를 "mightyturing"으로 변경하면 문제가 해결 되었습니다. 변경 option host-name하는 mt아마 잘 작동 것입니다.

적어도, 나는 그것이 문제 라고 생각 합니다 ... dhcp 구성을 수정하고 내 IP를 갱신 한 후에 중단되었습니다.

어쨌든 시간 내 주셔서 감사합니다 :)

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