Cisco ASA VPN PAT probleempje

Pagina: 1
Acties:

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Ik heb een probleem met een nieuwe setup die ik aan het opzetten ben, en ik hoop dat een van jullie hulp kan bieden :)

samenvatting: Ik wil PAT toepassen op inkomend VPN verkeer op een ASA5505, maar ik krijg het niet voor elkaar. Ik snap de cisco terminologie gewoon niet denk ik. (CCNA en CCNP zitten nog in de planning, maar dat haal ik dit jaar niet :) ) De uren googlen hebben ook nog niet echt geholpen.

Zie het netwerkdiagrammetje voor de beeldvorming: (alle ip-adressen zijn gefingeerd)
Afbeeldingslocatie: http://files.hongens.nl/images/natprobleemra8_th.jpg

Alle netwerken zijn al in gebruik, en router C, D, E en F zijn operationeel, en draaien al tijden perfect, met de getoonde ipsec lan2lan vpn's.

Het gaat mij om de rode pijl, tussen router A en router C.

De huidige situatie is dat router A nu bestaat uit 2 firewalls, een FreeBSD machine met PF en een Microsoft ISA server, en een van de 2 maakt een bridged openvpn connectie naar een openvpn doos in netwerk C. Dit zorgt ervoor dat alle traffic vanaf onze kantoren (192.168.123.0/24 en 192.168.124.0/24) gePAT wordt naar 1 enkel adres in netwerk C, bijvoorbeeld 10.94.2.241. Dat is ook precies wat ik wil, aangezien er alleen maar verkeer geinitieerd wordt vanaf router A, niet de andere kant op. Daarnaast hoeft er maar 1 rule aangemaakt te worden op routers D, E en F, die hoeven alleen maar rekening te houden met verkeer vanaf 10.94.2.0/24.

Ik wil nu de 2 firewalls vervangen door een enkele ASA5505, met trihomed dmz, hier aangegeven als router A. En nu komt de clou: Ik wil graag dat al het verkeer vanaf router A op router C een source-NAT ondergaat, zodat het een enkel ip adres krijgt, zoals 10.94.2.241. Kan dit, en zo ja, hoe pak ik dat dan aan? (Ik sta best open voor alternatieven trouwens, maar wel op zo'n manier dat er op router D, E en F niets aangepast hoeft te worden, da's het hele idee)

Ik heb een testnetwerk om verschillende dingetjes te testen. Ik heb de site-to-site vpn aan de praat, met een NAT-excempt rule (paar klikjes in de wizard). Ik heb daarna de NAT-excempt rule verwijderd, en ik heb ook een dynamic policy aangemaakt op verkeer vanaf 192.168.124.0/24 op de outside interface te natten naar inside ip 10.94.2.241, maar dat werkt niet, blijft zeiken die ie geen translation kan vinden. Waar moet ik welke rule aanmaken?

Doe trouwens ook nog alles in de ASDM.. Kan wel wat console commands, maar ben daar op cisco-vlak nog niet zo'n held in.

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Naja, ik kom er net achter dat in principe de 'Easy VPN' functionaliteit van Cisco (ook EzVPN genoemd) redelijk doet wat ik wil.. Router C stel ik in als EzVPN server, en router A als EzVPN client. Klik, klik, klaar, en het werkt!

Maarrr, dan kan ik op router A geen enkele andere VPN tunnels meer maken.. Dus da's ook niet echt een valide optie, want dan kan ik geen lan2lan vpn meer maken naar onze andere vestiging.. Ik ga weer door puzzelen.

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Woei, na heel veel gepruts werkend.. De uren googlen hebben niet veel gebaat, lijkt wel of ik de enige mafketel ben die dit wil :)

Nu is de vraag natuurlijk of ik dit op een efficiente manier heb oplost, of dat het nog makkelijker of netter zou kunnen..

Heb op router A een dynamic policy NAT rule gemaakt die al het verkeer op de inside interface van 192.168.124.0/24 met bestemming 10.94.2.0/24 translate naar 172.16.1.1 (nieuw adres uit mijn duim gezogen).
Vervolgens heb ik een crypto map gemaakt voor verkeer van 172.16.1.1 naar 10.94.2.0/24.

Op router C heb ik de omgekeerde crypto map, voor verkeer van 10.94.2.0/24 naar 172.16.1.1.
Heb daar ook een nat excempt rule voor verkeer van 10.94.2.0/24 naar 172.16.1.1, dat verkeer moet niet genat worden maar zo door de crypto map, en daarnaast heb ik een static NAT rule dat verkeer op de outside interface van 172.16.1.1 getranslate moet worden naar inside 10.94.2.241.

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • bazkar
  • Registratie: Juni 2001
  • Laatst online: 19-02 17:01
Ik volg je verhaal uit je eerste post een heel eind tot het stuk:
en ik heb ook een dynamic policy aangemaakt op verkeer vanaf 192.168.124.0/24 op de outside interface te natten naar inside ip 10.94.2.241, maar dat werkt niet
Volgens mij wil je gewoon een dynamic NAT regel op de inside interface van ASA A, die al het verkeer van 192.168.124.0 NAT naar 10.94.2.241.
Uiteraard moet je tunnel definitie dan ook zijn dat je 10.94.2.241/32 als protected verkeer zet aan de A kant van het netwerk, en de rest aan de C kant.

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Bazkar, bedankt voor je reply, had even geen tijd om er meteen weer in te duiken, vandaar mijn verlate reactie.

Jouw oplossing lijkt me ook inderdaad de meest logische, alleen heb ik nog wat issues daarmee.

Heb op router A een dynamic policy NAT rule gemaakt die verkeer op de inside interface van 192.168.124.0/24 bestemd voor 10.94.2.0/24 pat naar de outside interface 10.94.2.241. Heb daarnaast ook de ipsec rule aanpast, dat ie verkeer van 10.94.2.241/32 naar 10.94.2.0/24 moet encrypten.

Op router C heb ik de omgekeerde ipsec rule aangemaakt, dat verkeer van 10.94.2.0/24 naar 10.94.2.241/32 encrypt moet worden, en de default NAT excempt rule op de inside interface die verkeer van 10.94.2.0/24 naar 10.94.2.241/32 excempt van NAT. (Als ik deze rule niet maak zeurt ie ook in de logs dat ie geen translation group kan vinden.)

Maarrrr.. pakketjes gaan wel van netwerk A naar C gaan, maar niet andersom. Ik zie dat ook in de monitoring bij de VPN sessions, dat er alleen maar verkeer één kant op gaat. Als ik een ping open zet van een machine in net A (192.168.124.50) naar een machine in net C (10.94.2.166), zie ik op die machine in C alleen pings van 10.94.2.241 naar 10.94.2.166, maar niet terug.

Wat ik nu ook zie is dat die machine in netwerk C wel reply pakketjes zou willen sturen naar 10.94.2.241, en hij doet ook een ARP request voor het MAC van 10.94.2.241, maar niemand geeft antwoord. Op een of andere manier moet nog iets instellen op die router C, maar ik weet niet wat..

Wat zie ik over het hoofd?

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • Equator
  • Registratie: April 2001
  • Laatst online: 09-03 14:42

Equator

Crew Council

#whisky #barista


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Nog even een kickje..

Ik heb nu weer wat tijd om hiermee aan de slag te gaan, en ik wil nu weer met frisse moed hierin duiken. Heb een nieuwe setup gemaakt van twee ASA's, factory reset gedaan, en setup gemaakt zoals in het plaatje:

Afbeeldingslocatie: http://files.hongens.nl/images/nat-probleem-simple.gif

Op de routers alleen de locale subnets gewijzigd, daarna een normale site-to-site VPN gemaakt om te verifieren of dat werkt (prima!), daarna op RouterA weer een dynamic NAT rule gemaakt die verkeer van 192.168.124.0/24 naar 10.94.2.0/24 NAT naar 10.94.2.241. IPSec rule aangepast aan beide kanten, en op RouterC weer een NAT excempt rule gemaakt om verkeer naar 10.94.2.241 niet te NATten.

Wederom hetzelfde resultaat, pakketjes gaan goed over de VPN van A naar C, als ik ping van HostA naar HostC zie ik met Wireshark pings van 10.94.2.241 naar 10.94.2.51 gaan, maar host C wil niet antwoorden. Als ik op host C in de ARP cache kijk, staat daar een ip 10.94.225.241 met MAC 00-00-00-00-00-00, en status 'invalid'. Opzich ook logisch. Maar wat zie ik over het hoofd?

complete config van RouterA:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
: Saved
:
ASA Version 7.2(3)
!
hostname ciscoasa
domain-name default.domain.invalid
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Vlan1
  nameif inside
  security-level 100
  ip address 192.168.124.1 255.255.255.0
!
interface Vlan2
  nameif outside
  security-level 0
  ip address 172.16.0.2 255.255.255.0
!
interface Ethernet0/0
  switchport access vlan 2
!
interface Ethernet0/1
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
!
interface Ethernet0/6
!
interface Ethernet0/7
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
dns server-group DefaultDNS
  domain-name default.domain.invalid
access-list outside_access_in extended permit icmp any interface outside
access-list outside_1_cryptomap extended permit ip host 10.94.225.241
10.94.2.0 255.255.255.0
access-list inside_nat_outbound extended permit ip 192.168.124.0
255.255.255.0 10.94.2.0 255.255.255.0
pager lines 24
logging enable
logging asdm informational
mtu outside 1500
mtu inside 1500
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-523.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
global (outside) 2 10.94.2.241 netmask 255.255.255.255
nat (inside) 2 access-list inside_nat_outbound
nat (inside) 1 0.0.0.0 0.0.0.0
access-group outside_access_in in interface outside
route outside 0.0.0.0 0.0.0.0 172.16.0.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat
0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect
0:02:00
timeout uauth 0:05:00 absolute
http server enable
http 192.168.124.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 172.16.0.1
crypto map outside_map 1 set transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
  authentication pre-share
  encryption 3des
  hash sha
  group 2
  lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
dhcpd auto_config outside
!
dhcpd address 192.168.124.2-192.168.124.254 inside
dhcpd enable inside
!

!
class-map inspection_default
  match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
  parameters
   message-length maximum 512
policy-map global_policy
  class inspection_default
   inspect dns preset_dns_map
   inspect ftp
   inspect h323 h225
   inspect h323 ras
   inspect rsh
   inspect rtsp
   inspect esmtp
   inspect sqlnet
   inspect skinny
   inspect sunrpc
   inspect xdmcp
   inspect sip
   inspect netbios
   inspect tftp
!
service-policy global_policy global
tunnel-group 172.16.0.1 type ipsec-l2l
tunnel-group 172.16.0.1 ipsec-attributes
  pre-shared-key *
prompt hostname context
Cryptochecksum:5f684e64d0d5505d8b601f85d96494f4
: end
asdm image disk0:/asdm-523.bin
no asdm history enable


Complete config van RouterC:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
: Saved
:
ASA Version 7.2(3) 
!
hostname ciscoasa
domain-name default.domain.invalid
enable password 8Ry2YjIyt7RRXU24 encrypted
names
!
interface Vlan1
 nameif inside
 security-level 100
 ip address 10.94.2.1 255.255.255.0 
!
interface Vlan2
 nameif outside
 security-level 0
 ip address 172.16.0.1 255.255.255.0 
!
interface Ethernet0/0
 switchport access vlan 2
!
interface Ethernet0/1
!
interface Ethernet0/2
!
interface Ethernet0/3
!
interface Ethernet0/4
!
interface Ethernet0/5
!
interface Ethernet0/6
!
interface Ethernet0/7
!
passwd 2KFQnbNIdI.2KYOU encrypted
ftp mode passive
dns server-group DefaultDNS
 domain-name default.domain.invalid
access-list outside_1_cryptomap extended permit ip 10.94.2.0 255.255.255.0 host 10.94.2.241 
access-list outside_access_in extended permit icmp any interface outside 
access-list outside_access_in extended permit ip host 10.94.2.241 any 
access-list inside_nat0_outbound extended permit ip 10.94.2.0 255.255.255.0 host 10.94.2.241 
pager lines 24
logging enable
logging asdm informational
mtu outside 1500
mtu inside 1500
no failover
monitor-interface outside
monitor-interface inside
icmp unreachable rate-limit 1 burst-size 1
asdm image disk0:/asdm-523.bin
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 0 access-list inside_nat0_outbound
nat (inside) 1 0.0.0.0 0.0.0.0
access-group outside_access_in in interface outside
route outside 0.0.0.0 0.0.0.0 172.16.0.2 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout uauth 0:05:00 absolute
http server enable
http 10.94.2.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac 
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs 
crypto map outside_map 1 set peer 172.16.0.2 
crypto map outside_map 1 set transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
dhcpd auto_config outside
!
dhcpd address 10.94.2.2-10.94.2.254 inside
dhcpd enable inside
!

!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map 
  inspect ftp 
  inspect h323 h225 
  inspect h323 ras 
  inspect rsh 
  inspect rtsp 
  inspect esmtp 
  inspect sqlnet 
  inspect skinny 
  inspect sunrpc 
  inspect xdmcp 
  inspect sip 
  inspect netbios 
  inspect tftp 
!
service-policy global_policy global
tunnel-group 172.16.0.2 type ipsec-l2l
tunnel-group 172.16.0.2 ipsec-attributes
 pre-shared-key *
prompt hostname context 
Cryptochecksum:00c66c6a98f29bdc626e0faa050277e2
: end
asdm image disk0:/asdm-523.bin
no asdm history enable

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • jvanhambelgium
  • Registratie: April 2007
  • Laatst online: 12-03 08:54
debug ? Spuwt dat ding dan absoluut niets bruikbaars uit als je volledig laat debuggen ? Toch geen productie-machine, dus de vele output kan alleen maar (hopelijk) nuttig zijn...

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Als ik debug, zie ik niet veel bijzonders. De routers werken immers prima, pakketjes gaan uitstekend van A naar C, en de retourpakketjes worden niet verzonden door HostC. (Die weet niet waar ze heen moeten)

Ik ben nu telkens aan het switchen tussen EasyVPN mode (die precies doet wat ik wil) en normale site-to-site mode, om erachter te komen wat die EasyVPN precies doet. En ik moet zeggen, ik kom steeds verder.

Als ik EasyVPN opzet maakt ie op router A een NAT rule die inside traffic NAT naar 10.94.2.241, en een crypto map voor 10.94.2.241/32 -> 0/0. Op router C maakt ie zo te zien een crypto map 0/0 -> 10.94.2.241/32, en een NAT excempt rule voor verkeer naar 10.94.2.241. Zover was ik zelf ook al gekomen voorheen.

Het valt me op dat de EasyVPN server ook nog een static route aanmaakt op Router C die 10.94.2.241/32 routeert naar outside 172.16.0.2. Die heb ik nu in manual mode ook aangemaakt.

Het enige verschil dat ik nu nog heb, is dat in EasyVPN server mode de router reageert op ARP requests naar 10.94.2.241, en in 'manual mode' nog niet (en in de 'show ARP' zie ik geen static ARP entries staan). Als ik op HostC een static ARP entry toevoegt, werkt alles zoals ik het wil. Dus ik ben er bijna.

Edit: Als ik op router C een static ARP entry toevoeg met ip 10.94.2.241 en het MAC vande inside interface, en ik heb de static route, dan doet alles het.. Vreemd, want zo te zien doet die EasyVPN server geen static ARP entry..

[ Voor 14% gewijzigd door axis op 01-04-2008 14:40 ]

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!

Pagina: 1