Cisco DNS doctoring atau Hairpinning?


8

Saya sudah memiliki konfigurasi berikut: CISCO 881, iOS 15.2 (4) M6. Pada antarmuka WAN, konfigurasi subnet 86.34.156.48/29 dari ISP kami. Di belakang router ada 2 server web. NAT: 86.34.156.51 <> 10.10.10.100 (IP pribadi, server1). Jika saya mengkonfigurasi BIND DNS server A catatan dengan IP eksternal server (86.34.156.51) dunia luar tidak pernah mendapatkan respons dari server DNS saya (saya tidak tahu apa yang terjadi di sana, mungkin router melakukan DNS doctoring atau sesuatu mirip (ini adalah pertanyaan)), dan sudah pasti server DNS dikonfigurasi dan berfungsi dengan baik (saya menangkap paket IP dengan TCPdump). Tetapi jika saya mengkonfigurasi catatan server DNS A dengan IP server pribadi (10.10.10.100) paket-paket tersebut selalu tiba ke tujuan yang tepat (dengan IP eksternal server, mungkin DNS juga sedang merawat).

Apa yang dapat saya lakukan???

        +-----+
        |     |  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

Berikut ini beberapa penggalian (alat diagnostik dns di linux):

Dari host 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

Dari host 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

Dari host 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

Dari host 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

dari mana datangnya hairpinning?
bao7uo

Jawaban:


0

Nah, jika Anda tidak menyelesaikan DNS, masalahnya mungkin dua kali lipat:

  1. Konfigurasi DNS yang tidak benar - apakah sistem DNS global dapat mengetahui NS untuk domain Anda? Ini adalah sesuatu yang perlu Anda atur di penyedia nama Anda. Apa itu dig style2take.ro NSoutput?

  2. Router Anda tidak mengizinkan permintaan DNS. Dapatkan di server di luar dan coba telnet ke port 53 DNS Anda telnet 86.34.156.51- DNS harus berfungsi baik melalui UDP dan TCP, ini menguji setidaknya bagian TCP.


0

Anda tidak perlu memiliki IP eksternal di salah satu konfigurasi pengaturan DNS (bernama) Anda. Anda dapat menggunakan yang internal (10.10.10.100) di mana-mana dan mengubahnya dari router ke 86.34.156.51 ( ip nat inside source static 10.10.10.100 86.34.156.51). Jika Anda ingin mengonfigurasi DNS sekunder, hal yang sama berlaku untuk itu: gunakan 10.10.10.101 (sebagai NS2) NAT'ed ke sesuatu yang lain (seperti 86.34.156.51). Juga, pastikan port DNS benar-benar diteruskan di router dan tidak diblokir oleh firewall di server linux. Gunakan pemeriksa port berbasis web untuk memastikan UDP 53 terbuka.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.