Cisco ASA nhân đôi NAT với dịch DNS


11

Tôi đang cố gắng thiết lập gấp đôi NAT tự động với dịch DNS trên Cisco ASA 9.0 (3) và tôi gặp một vài thách thức với phần DNS. Tôi đã tăng gấp đôi NAT hoạt động chính xác, như vậy tôi có một máy chủ đang sản xuất và trong phòng thí nghiệm có cùng địa chỉ IP. Xem b2masd1, nameif INSIDE (sản xuất) và masd1, nameif DMZ (lab).

Khi bạn ping từ DMZ 10.195.18.182 đến 1.195.18.182, tôi thấy các bản dịch diễn ra chính xác theo cả hai hướng ...

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

Đây là những gì tôi thấy trên masd1 ...

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$

Vấn đề là các truy vấn DNS từ DMZ đến INSIDE không được dịch. Khi tôi truy vấn b2masd1 từ DMZ, tôi hy vọng máy chủ tên trên INSIDE sẽ trả lời với 10.195.18.182, và sau đó ASA sẽ dịch nó thành 1.195.18.182. Tuy nhiên, điều đó không xảy ra; như bạn có thể thấy, mục DNS không được dịch.

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$

Bất cứ ai có thể giải thích những gì tôi cần làm để có được các truy vấn DNS được dịch chính xác? Tôi cần một truy vấn cho b2masd1 trong DMZ đến một máy chủ tên trên giao diện INSIDE để trả về 1.195.18.182 (vì ASA dịch bản ghi INSIDE A-Record 10.195.18.182 sang DMZ addr 1.195.18.182).

Tôi đã thiết lập một phòng chat để hỗ trợ chẩn đoán


Thông tin gỡ lỗi linh tinh

Đây là cấu hình của tôi ...

!
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

Hiển thị xTable, trong trường hợp điều này giúp ...

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#

Hiển thị chính sách dịch vụ kiểm tra ...

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#

Các ảnh chụp hiển thị các truy vấn từ b2masd1 đến máy chủ tên (10.195.18.201). LƯU Ý các truy vấn DNS kép được gửi trên giao diện TRONG, nhưng dường như chúng tôi không nhận được các truy vấn trên giao diện DMZ.

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

Câu trả lời:


8

Trả lời câu hỏi của riêng tôi để giúp những người làm việc trong tương lai. Tôi đã dành khoảng 3 giờ trên điện thoại với TAC; cuối cùng chúng tôi đã đi đến nguyên nhân gốc rễ của vấn đề.

Giải pháp là thêm một mục NAT đặc biệt, khớp với địa chỉ IP trong DNS A-Record khi nó đến trên giao diện INSIDE.

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

Khi tôi hỏi một con trỏ tới tài liệu mô tả lý do tại sao dịch DNS hoạt động theo cách này, khách hàng tiềm năng của TAC nói rằng anh ta không biết bất kỳ điều gì mô tả hành vi này. Trưởng nhóm TAC cũng đề cập rằng với nhiều mã hơn, ASA sẽ biết tự động dịch DNS A-Record mà không cần thêm rõ ràng object network DNS_NAT_masd1; tuy nhiên, đó không phải là cách dnstừ khóa cho ASA NAT hoạt động ngày nay. Vì những lý do vẫn chưa hoàn toàn rõ ràng, ASA yêu cầu IP A-Record IP khớp với <proxy_addr>câu lệnh NAT, sử dụng cú pháp tương tự như ...

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

Khó khăn là cấu hình này hoàn toàn ngược với những gì bạn cần làm nếu bạn định lưu lượng IP "mặt phẳng dữ liệu" thông thường qua tường lửa.

Đây là toàn bộ cấu hình hoạt động ...

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! Cảm ơn vì đã chia sẻ! Tôi đã sử dụng cách giải quyết này với hai lần NAT và nó cũng hoạt động!

Tôi có hai lần NAT (ASA OS v 9.5):

nat (bên ngoài, bên trong) nguồn động ANY X đích GroupM GroupN

Vì vậy, tôi có nhóm máy chủ "GroupN" ở bên trong và tôi NAT chúng ra bên ngoài tới địa chỉ IP "GroupM". Khách hàng từ bên ngoài (bất kỳ) có thể truy cập máy chủ của tôi và khi khách hàng bên ngoài đi qua ASA, nguồn của họ được thay thế thành địa chỉ IP X.

Ở đây không thể sử dụng từ khóa dns. Nhưng với cách giải quyết của bạn, tôi đã tạo ra bộ NAT đối tượng phụ trợ:

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

VÀ tôi đã có DNS tiến sĩ hoạt động chính xác.

BTW, Cisco trong tài liệu của nó nói rằng nhiệm vụ này là không thể :) http://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/ 115753-dns-Doctoring-asa-config.html

Trân trọng, Serge

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.