DNS çevirisi ile Cisco ASA çift NAT


11

Cisco ASA 9.0 (3) üzerinde DNS çevirisi ile çift Otomatik NAT kurmaya çalışıyorum ve DNS kısmı ile birkaç zorluk yaşıyorum. Üretimde ve laboratuarda aynı IP adresine sahip bir sunucum olacak şekilde çift NAT çalıştım. Bkz. B2masd1, nameif INSIDE (üretim) ve masd1, nameif DMZ (lab).

DMZ 10.195.18.182'den 1.195.18.182'ye ping işlemi yaptığınızda, çevirilerin her iki yönde de doğru bir şekilde gerçekleştiğini görüyorum ...

D:10.195.18.182      S:192.168.11.101       D:1.195.18.182   S:10.195.18.182
             <-----------                         <-----------
                                           1) echo-request to 1.195.18.182
                                           nat (INSIDE,DMZ) static 1.195.18.182 dns



  S:10.195.18.182    D:192.168.11.101       S:1.195.18.182   D:10.195.18.182
              ------------>                        ------------>
      2) echo-reply to 192.168.11.101
      nat (DMZ,INSIDE) static 192.168.11.101 dns


 b2masd1                   +-----------+              masd1
 10.195.18.182      INSIDE |           | DMZ          10.195.18.182
 Mfg Server   -------------| Cisco ASA |------------  Devel Server
                           |           |
                           +-----------+

 Manufacturing                                        Development
 Network                                              Network
 Security: 100                                        Security: 50

Masd1'de gördüğüm şey bu ...

masd1$ /usr/sbin/ping 1.195.18.182
PING 1.195.18.182: 64 byte packets
64 bytes from 1.195.18.182: icmp_seq=0. time=0. ms
64 bytes from 1.195.18.182: icmp_seq=1. time=0. ms

----1.195.18.182 PING Statistics----
2 packets transmitted, 2 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 0/0/0
masd1$

Sorun INSIDE'lı için DMZ DNS sorguları olmasıdır değil tercüme alıyorum. DMZ'den b2masd1'i sorguladığımda, INSIDE üzerindeki ad sunucusunun 10.195.18.182 ile yanıt vermesini bekliyorum ve daha sonra ASA bunu 1.195.18.182'ye çevirmelidir. Ancak bu gerçekleşmiyor; gördüğünüz gibi DNS girişi çevrilmiyor.

masd1$ nslookup
Using /etc/hosts on:  masd1

> a2mosd1
Using /etc/hosts on:  masd1

looking up FILES
Trying DNS
Name:    b2masd1.domain.local
Address:  10.195.18.182

> exit
masd1$

DNS sorgularını doğru şekilde çevirmek için ne yapmam gerektiğini açıklayan var mı? 1.195.18.182 (ASA INSIDE A-kayıt 10.195.18.182 DMZ addr 1.195.18.182 çevirir) için INSIDE arabiriminde bir ad sunucusuna DMZ b2masd1 için bir sorgu gerekir.

Teşhise yardımcı olmak için bir sohbet odası kurdum


Çeşitli hata ayıklama bilgileri

Bu benim yapılandırma ...

!
interface GigabitEthernet0/0
 nameif INSIDE
 security-level 100
 ip address 10.195.2.197 255.255.255.248 standby 10.195.2.198
!
interface GigabitEthernet0/1
 nameif DMZ
 security-level 50
 ip address 10.195.2.201 255.255.255.248 standby 10.195.2.202
!
object network DMZ_NAT_masd1
 host 10.195.18.182
 description xlate masd1 NAT DMZ src 10.195.18.182 to INSIDE src 192.168.11.101
object network INSIDE_NAT_masd1
 host 10.195.18.182
 description xlate masd1 NAT INSIDE src 10.195.18.182 to DMZ src 1.195.18.182
!
object network DMZ_NAT_masd1
 nat (DMZ,INSIDE) static 192.168.11.101 dns
object network INSIDE_NAT_masd1
 nat (INSIDE,DMZ) static 1.195.18.182 dns
!
policy-map type inspect dns DNS_INSPECT_MAP
 parameters
  message-length maximum 512
!
policy-map global_policy
 class inspection_default
  inspect dns DNS_INSPECT_MAP
!
service-policy global_policy global

Xlate'i göster, bunun yardımcı olması durumunda ...

B2-DEV-FW1/DEVELOPMENT# sh xlate local 10.195.18.182
121 in use, 126 most used
Flags: D - DNS, e - extended, I - identity, i - dynamic, r - portmap,
       s - static, T - twice, N - net-to-net
NAT from DMZ:10.195.18.182 to INSIDE:192.168.11.101
    flags sD idle 0:00:01 timeout 0:00:00
NAT from INSIDE:10.195.18.182 to DMZ:1.195.18.182
    flags sD idle 0:03:55 timeout 0:00:00
B2-DEV-FW1/DEVELOPMENT#

Hizmet politikası inceleme dns'lerini göster ...

B2-DEV-FW1/DEVELOPMENT# sh service-policy inspect dns

Global policy:
  Service-policy: global_policy
    Class-map: inspection_default
      Inspect: dns DNS_INSPECT_MAP, packet 15302, drop 0, reset-drop 0, v6-fail-close 0
        message-length maximum 512, drop 0
        dns-guard, count 7649
        protocol-enforcement, drop 0
        nat-rewrite, count 139
B2-DEV-FW1/DEVELOPMENT#

B2masd1'den ad sunucusuna sorguları (10.195.18.201) gösteren yakalar. NOT INSIDE arabiriminde gönderilen çift DNS sorgularını NOT, ancak bunları DMZ arabiriminde almıyoruz.

B2-DEV-FW1/DEVELOPMENT# capture FOO interface DMZ real-time match udp host 10.195.18.182 host 10.195.18.201

Warning: using this option with a slow console connection may
         result in an excessive amount of non-displayed packets
         due to performance limitations.

Use ctrl-c to terminate real-time capture


   1: 09:54:35.994730       10.195.18.182.52639 > 10.195.18.201.53:  udp 45
   2: 09:54:35.995218       10.195.18.201.53 > 10.195.18.182.52639:  udp 83
   3: 09:54:47.875076       10.195.18.182.52644 > 10.195.18.201.53:  udp 53
   4: 09:54:47.875549       10.195.18.201.53 > 10.195.18.182.52644:  udp 136
   5: 09:54:47.875854       10.195.18.182.52645 > 10.195.18.201.53:  udp 51
   6: 09:54:47.876297       10.195.18.201.53 > 10.195.18.182.52645:  udp 138
   7: 09:54:47.876648       10.195.18.182.52646 > 10.195.18.201.53:  udp 35
   8: 09:54:47.877075       10.195.18.201.53 > 10.195.18.182.52646:  udp 35

B2-DEV-FW1/DEVELOPMENT# capture FOO interface INSIDE real-time match udp host 192.168.11.101 host 10.195.18.201

Warning: using this option with a slow console connection may
         result in an excessive amount of non-displayed packets
         due to performance limitations.

Use ctrl-c to terminate real-time capture


   1: 09:56:27.282608       10.195.18.182.52742 > 10.195.18.201.53:  udp 43
   2: 09:56:27.282684       192.168.11.101.52742 > 10.195.18.201.53:  udp 43
   3: 09:56:27.283081       10.195.18.201.53 > 192.168.11.101.52742:  udp 59
   4: 09:56:27.283096       10.195.18.201.53 > 10.195.18.182.52742:  udp 59

Yanıtlar:


8

Gelecekteki Google çalışanlarına yardımcı olmak için kendi sorumu yanıtlıyorum. TAC ile telefonda yaklaşık 3 saat geçirdim; nihayet sorunun temel nedenine ulaştık.

Çözüm, INSIDE arabirimine geldiğinde DNS A Kaydındaki IP adresiyle eşleşen özel bir NAT girişi eklemektir.

object network DNS_NAT_masd1
 description xlate A-Record DMZ src 1.195.18.182 to INSIDE src 10.195.18.182
 host 1.195.18.182
 nat (DMZ,INSIDE) static 10.195.18.182

DNS çevirisinin neden bu şekilde çalıştığını açıklayan belgelere bir işaretçi istediğimde, TAC lideri bu davranışı açıklayan herhangi bir şey bilmediğini söyledi. TAC öncüsü, daha fazla kodla ASA'nın DNS A-Kaydını açıkça eklemeden otomatik olarak çevirmeyi bileceğini belirtti object network DNS_NAT_masd1; ancak, dnsASA NAT anahtar kelimesi bugün böyle çalışmaz . Hala tam olarak açık olmayan nedenlerden ötürü, ASA, DNS A-Record <proxy_addr>IP'sinin NAT ifadesinde eşleşmesini ve buna benzer bir sözdizimini kullanmasını gerektirir ...

object network obj-EXAMPLE
 description NAT object explicitly for translating DNS A-Records
 host <proxy_addr>
 nat (<REAL_INTF>,<PROXY_INTF>) static <real_addr> dns

Zorluk, güvenlik duvarından normal "veri düzlemi" IP trafiğine gidecekseniz, bu yapılandırmanın tam olarak geriye dönük olmasıdır.

Çalışan tüm yapılandırma budur ...

object network DMZ_NAT_masd1
 host 10.195.18.182
 description xlate masd1 NAT DMZ src 10.195.18.182 to INSIDE src 192.168.11.101
object network INSIDE_NAT_masd1
 host 10.195.18.182
 description xlate masd1 NAT INSIDE src 10.195.18.182 to DMZ src 1.195.18.182
!!! DNS_NAT_masd1 is new
object network DNS_NAT_masd1
 host 1.195.18.182
 description xlate A-Record DMZ src 1.195.18.182 to INSIDE src 10.195.18.182
!
object network DMZ_NAT_masd1
 nat (DMZ,INSIDE) static 192.168.11.101
object network INSIDE_NAT_masd1
 nat (INSIDE,DMZ) static 1.195.18.182
!!! DNS_NAT_masd1 is new
object network DNS_NAT_masd1
 nat (DMZ,INSIDE) static 10.195.18.182 dns

1

Mike! Bunu paylaştığın için teşekkürler! Bu geçici çözümü iki kez NAT ile kullandım ve işe yarıyor!

İki kez NAT (ASA OS v 9.5) var:

nat (dış, iç) kaynak dinamik HERHANGİ BİR X hedef GroupM GroupN

Yani, içimde "GroupN" sunucu grubu var ve ben onları "GroupM" IP adreslerine dışarı NAT. Dışarıdan (herhangi) istemciler sunucularıma erişebilir ve dış istemciler ASA üzerinden geçtiğinde kaynakları IP adresi X ile değiştirilir.

Burada dns anahtar sözcüğünü kullanmak mümkün değildir. Ancak geçici çözümünüzle NAT yardımcı nesne kümesi oluşturdum:

object network My_Server1_on_Inside
 host <NATed IP of Server1>
 nat (outside,inside) static <Real IP of server1> dns

Ve DNS doktorluğunun düzgün çalışmasını sağladım.

BTW, Cisco belgelerinde bu görevin imkansız olduğunu söylüyor :) http://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/ 115753-dns-doktorluk-asa-config.html

Saygılarımla, Sergey

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.