> That's clear, proxy IDs must "match" on both sides. Route based uses all
zero by default, policy based takes proxy ID from policy. In both cases
you can override them manually.
Okay, now consider this scenario: SRX on one side, ASA on the other. For added fun, have 3 subnets each side.
ASA can only do policy-based. It's also really picky about traffic matching the proxy-id. That means you have to have 9 (3 x 3 for all possible combinations) different proxy-ids configured. You can go about this two ways:
- Policy-based VPN. You will need 9 policies, as otherwise the proxy-id becomes all zeros again when there is more than one address object. This will work - in the absence of NAT. Ways this will break:
o You need NAT through the tunnel. No can do. Look at the flow diagram to understand why - the issue is with the order of NAT and policy lookup
o You have a static NAT for one of the hosts traversing the tunnel. That is, your intent is to static NAT it to the Internet, but not through the tunnel. This will break. Destination-NAT on the Internet side may be a way around this.
- Route-based VPN. You will need to use NHTB, with "dummy" tunnel addresses on the Cisco side. Because you have three source subnets, you'll also need to use FBF. You'll again end up with 9 proxy-ids, and the accompanying FBF and NHTB entries for them. It's a labor-intensive thing to set up.
o Much more work to set up than policy-based VPN
o Will continue working no matter what you do with NAT elsewhere, and can NAT traffic through the tunnel, too
Route-based is the way to go, IMO. If you can keep the SRX-side subnet to just one network, you save yourself FBF and a whole lot of headache.
What I'd love is a way to have multiple proxy-ids for a route-based VPN, similar to what ScreenOS 6.3 introduced. That would solve this interop problem.
CheckPoint interop, btw: Choose "only one tunnel per VPN" (instead of "one tunnel per subnet", which is the default), and it'll use an all-zero proxy-id and work just fine with an SRX.