Sorry.. I'm new to Cisco IOS so if I need to present more info, please let me know.
Using IOS 9.1(6), ASDM 7.10(1) on a Cisco 5510, connecting to an Azure VNET. (Yes, UsePolicyBasedTrafficSelectors is set to true)
I am creating a VPN from us (with a single network range) to another site that has several network ranges. But, the VPN only seems to come up on one range. The rest get a "Crypto Map Policy not found" error.
Here is the access list I've defined (well.. it was automatically defined when I created the VPN entry in ASDM):
ciscoasa(config)# show access-list AT&T_cryptomap
access-list AT&T_cryptomap; 5 elements; name hash: 0x395898
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 object-group DM_INLINE_NETWORK_2 (hitcnt=2) 0xaeb5bef0
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 10.3.0.0 255.255.255.0 (hitcnt=2) 0x41216cae
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 10.3.1.0 255.255.255.224 (hitcnt=4) 0xee40b1de
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 10.3.2.0 255.255.255.0 (hitcnt=4) 0xbdd4449d
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 10.3.224.0 255.255.255.0 (hitcnt=4) 0xa8646d01
access-list AT&T_cryptomap line 1 extended permit ip 172.16.1.0 255.255.255.240 10.3.254.0 255.255.254.0 (hitcnt=4) 0xbf2c68a9
The tunnel comes up on the last one in the list (10.3.254.0) but all the rest give errors. Example is:
Crypto Map Policy not found for remote traffic selector 10.3.2.0/10.3.2.0/0/65535/0 local traffic selector 172.16.1.0/172.16.1.15/0/65535/0!
I should also note that, if I modify the ACL to only include any one (but just one) of the routes, the VPN comes up on that route. So, all routes seem good, but I can only get one of them at a time.
Update: It appears that when I use the set ranges that the first one to cause a tunnel build works. All the child SAs fail from that point on, regardless of who tries to initiate it.
One thing I did notice… when the child SA requests came in from Azure, the IP ranges were not ranges. They were simply the first IP of the range.
(27): 3c 6f b0 28 6d 24 1d 3e 5d f1 4b eb 94 ad 2f f7
(27): 15 b5 0c a8 d6 eb fe 0c 2a 31 f2 10 43 58 50 66
(27): ea 54 73 8e 20 0f bd e3 8f 5d 41 e1 63 a3 c5 ec
(27): TSi(27): Next payload: TSr, reserved: 0x0, length: 24
(27): Num of TSs: 1, reserved 0x0, reserved 0x0
(27): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(27): start port: 0, end port: 65535
(27): start addr: 10.3.0.0, end addr: 10.3.0.0
(27): TSr(27): Next payload: NONE, reserved: 0x0, length: 24
(27): Num of TSs: 1, reserved 0x0, reserved 0x0
(27): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(27): start port: 0, end port: 65535
(27): start addr: 172.16.1.0, end addr: 172.16.1.15
The 10.3.0.0 is part of the 10.3.0.0/24 range.
Also, when the Cisco unit tried to initiate the child SA due to a request to connect from my end, the child SA contained 2 TS's (not sure what that means, btw), one for the single IP I was trying to reach and the other for the correct range of IPs.
(22): a9 0d f0 fd 71 a5 a9 02 b8 67 9e 91 b5 45 c6 b4
(22): 56 19 a5 0a c1 65 13 8e 3c 2c fb 75 9d 7a f3 9b
(22): 3e 7a 8b 16 58 18 6c 08 e3 7d 27 01 0d 2a f5 a6
(22): a0 f5 d9 52 f5 8a 60 d4 1b ad f3 bf 85 cb a4 a8
(22): 20 5b eb 81 83 eb 95 28 4d b9 6f 7a 04 f4 e5 67
(22): ba 23 a3 21 e2 3e 44 2f 62 b8 93 4d 39 93 4f e2
(22): a3 f8 02 38 58 04 d4 3b ec 7e fb 4a d0 af 61 3c
(22): c3 97 c8 82 fb 04 7e 4f 0c 8e 2a bb 20 1e 9e 9e
(22): ab 52 2c 17 84 23 08 cf 06 44 54 39 65 02 cc 2d
(22): 80 71 9b 16 d4 51 4c 0e d2 d3 82 9a de 9b 81 46
(22): c2 2b 49 54 fb 4d b5 be 9d c1 f6 46 39 e1 3a 0b
(22): 90 d0 fe e9 0d e7 39 a6 1c b9 d0 97 24 20 c2 87
(22): TSi(22): Next payload: TSr, reserved: 0x0, length: 40
(22): Num of TSs: 2, reserved 0x0, reserved 0x0
(22): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(22): start port: 0, end port: 65535
(22): start addr: 172.16.1.1, end addr: 172.16.1.1
(22): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(22): start port: 0, end port: 65535
(22): start addr: 172.16.1.0, end addr: 172.16.1.15
(22): TSr(22): Next payload: NONE, reserved: 0x0, length: 40
(22): Num of TSs: 2, reserved 0x0, reserved 0x0
(22): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(22): start port: 0, end port: 65535
(22): start addr: 10.3.2.20, end addr: 10.3.2.20
(22): TS type: TS_IPV4_ADDR_RANGE, proto id: 0, length: 16
(22): start port: 0, end port: 65535
(22): start addr: 10.3.2.0, end addr: 10.3.2.255
10.3.2.20 is the IP I was trying to hit that caused the Cisco to try to build the child tunnel.
Am I misunderstanding how this should all work?
What am I missing?
Best Answer
Appears to be some sort of problem with IOS 9.1(6). Upgrading to 9.8(2) seems to have resolved it.