Я пытаюсь настроить двойной автоматический NAT с преобразованием DNS на Cisco ASA 9.0 (3), и у меня есть несколько проблем с частью DNS. Я получил двойной NAT, работающий правильно, такой, что у меня есть сервер в производстве и в лаборатории с тем же IP-адресом. См. B2masd1, имя INSIDE (производство) и masd1, имя DMZ (лаборатория).
Когда вы пингуете от DMZ 10.195.18.182 до 1.195.18.182, я вижу, что переводы происходят правильно в обоих направлениях ...
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 ...
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$
Проблема в том, что DNS-запросы от DMZ к INSIDE не переводятся. Когда я запрашиваю b2masd1 из DMZ, я ожидаю, что сервер имен на INSIDE ответит 10.195.18.182, а затем ASA должен преобразовать это в 1.195.18.182. Однако этого не происходит; как видите, запись DNS не переведена.
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-запросы? Мне нужен запрос для b2masd1 в DMZ на сервер имен на интерфейсе INSIDE для возврата 1.195.18.182 (потому что ASA переводит INSIDE A-Record 10.195.18.182 в DMZ addr 1.195.18.182).
Я создал чат, чтобы помочь с диагнозом
Разная отладочная информация
Это мой конфиг ...
!
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, если это поможет ...
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#
Покажи сервис-политику, проверь днс ...
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 к серверу имен (10.195.18.201). Обратите внимание, что двойные DNS-запросы отправляются по интерфейсу INSIDE, но мы, похоже, не получаем их по интерфейсу 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