시스코 DNS 의사 또는 헤어핀? | |

CISCO 881, IOS 15.2 (4) M6 구성입니다. WAN 인터페이스에는 ISP의 86.34.156.48/29 서브넷이 구성되어 있습니다. 라우터 뒤에는 2 개의 웹 서버가 있습니다. NAT : 86.34.156.51 <> 10.10.10.100 (개인 IP, 서버 1). 서버의 외부 IP (86.34.156.51)를 사용하여 BIND DNS 서버 A 레코드를 구성하면 외부 세계가 내 DNS 서버로부터 응답을 얻지 못합니다 (어떤 일이 발생하는지 모르겠습니다. 라우터가 DNS 의사 또는 다른 것을 수행 할 수 있습니다) 비슷합니다 (질문입니다)) DNS 서버가 구성되어 제대로 작동하는지 확인합니다 (TCP 덤프로 IP 패킷을 캡처했습니다). 그러나 서버 개인 IP (10.10.10.100)로 DNS 서버 A 레코드를 구성하면 패킷이 이미 적절한 대상에 도착합니다 (서버 외부 IP, 아마도 DNS 의사도 있음).

어떻게해야합니까 ???

        +-----+
        |     |  an other host somewhere on internet(C)
        |     |
        +-----+
            |
            |
            :
            :  internet
            :

            |

        +-----+
        |     |      ISP's router
        |     |       black box, without acces
        +-----+

            |
            | 86.34.456.48/29
        +-----+
        |     |      CISCO 881,
        |     |       IOS 15.2(4)M6
        +-----+
            |
            |
------------------------------------------------------------  local private network 10.10.10.0/24
    |                                           |
    | (86.34.156.51)                            | (Nat rule not yet attached)
    | 10.10.10.100                              | 10.10.10.101
    |                                           |
+-----+                                       +-----+
|     |                                       |     |
|     |                                       |     |
+-----+                                       +-----+
linux server (A)                                linux server (B)
BIND DNS server
 style2take.ro

다음은 약간의 발굴입니다 (Linux의 DNS 진단 도구).

호스트 B에서 : $ dig style2take.ro

;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42222
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
style2take.ro.          0       IN      A       10.10.10.100                                                <-- here you can see the TTL is 0

;; Query time: 52 msec
;; SERVER: 193.231.100.130#53(193.231.100.130)
;; WHEN: Fri Feb 20 10:27:25 EET 2015
;; MSG SIZE  rcvd: 58

호스트 B : $ dig @ 10.10.10.100 style2take.ro

;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65374
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available

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

;; ANSWER SECTION:
style2take.ro.          3600    IN      A       10.10.10.100                                                <-- here you can see the TTL is 3600

;; AUTHORITY SECTION:
style2take.ro.          3600    IN      NS      ns1.style2take.ro.
style2take.ro.          3600    IN      NS      ns2.style2take.ro.

;; ADDITIONAL SECTION:
ns1.style2take.ro.      3600    IN      A       10.10.10.100
ns2.style2take.ro.      3600    IN      A       10.10.10.100

;; Query time: 0 msec
;; SERVER: 10.10.10.100#53(10.10.10.100)
;; WHEN: Fri Feb 20 10:28:58 EET 2015
;; MSG SIZE  rcvd: 126

호스트 C에서 : $ dig style2take.ro

;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32364
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;style2take.ro.                 IN      A

;; ANSWER SECTION:
style2take.ro.          0       IN      A       86.34.156.51                                                <-- here you can see the TTL is 0

;; AUTHORITY SECTION:
ro.                     106161  IN      NS      sns-pb.isc.org.
ro.                     106161  IN      NS      primary.rotld.ro.
ro.                     106161  IN      NS      sec-dns-a.rotld.ro.
ro.                     106161  IN      NS      sec-dns-b.rotld.ro.
ro.                     106161  IN      NS      dns-at.rotld.ro.
ro.                     106161  IN      NS      dns-ro.denic.de.

;; Query time: 149 msec
;; SERVER: 82.79.24.74#53(82.79.24.74)
;; WHEN: Fri Feb 20 10:29:52 2015
;; MSG SIZE  rcvd: 201

호스트 C에서 : $ dig @ 86.34.156.51 style2take.ro

; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48385
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;style2take.ro.                 IN      A

;; ANSWER SECTION:
style2take.ro.          0       IN      A       86.34.156.51                                                <-- here you can see the TTL is 0

;; AUTHORITY SECTION:
style2take.ro.          0       IN      NS      ns2.style2take.ro.
style2take.ro.          0       IN      NS      ns1.style2take.ro.

;; ADDITIONAL SECTION:
ns1.style2take.ro.      0       IN      A       86.34.156.51
ns2.style2take.ro.      0       IN      A       86.34.156.51

;; Query time: 29 msec
;; SERVER: 86.34.156.51#53(86.34.156.51)
;; WHEN: Fri Feb 20 10:35:05 2015
;; MSG SIZE  rcvd: 115



답변

DNS를 확인하지 않으면 문제가 두 가지가 될 수 있습니다.

  1. 부적절한 DNS 구성-글로벌 DNS 시스템이 도메인의 NS가 무엇인지 알 수 있습니까? 이것은 이름 제공 업체에서 설정해야하는 것입니다. dig style2take.ro NS출력 이란 무엇입니까 ?

  2. 라우터가 DNS 요청을 허용하지 않습니다. 외부 서버에 접속하여 DNS의 포트 53에 telnet을 시도하십시오. telnet 86.34.156.51DNS는 UDP와 TCP를 통해 작동해야합니다. 이것은 최소한 TCP 부분을 테스트합니다.


답변

DNS 설정 (명명 된) 구성에서 외부 IP를 가질 필요는 없습니다. 내부 (10.10.10.100)를 어디에서나 사용할 수 있으며 라우터에서 86.34.156.51 ( ip nat inside source static 10.10.10.100 86.34.156.51) 로 NAT 할 수 있습니다 . 보조 DNS를 구성하려는 경우에도 동일한 사항이 적용됩니다. 10.10.10.101 (NS2로)을 NAT (86.34.156.51 등)에 사용하십시오. 또한 DNS 포트가 실제로 라우터에서 전달되고 Linux 서버의 방화벽에 의해 차단되지 않아야합니다. 웹 기반 포트 검사기를 사용하여 UDP 53이 열려 있는지 확인하십시오.


답변