[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NAT64 and IPsec support



Hi Yaron,

thank you for your input, see some questions below...

Yaron Sheffer escribió:
I think we are bundling several different cases together. I will try to enumerate the use cases, to clarify the situation a bit:
Case 1: v6-only host to v4-only host.

I don't think any IPsec solution can be crafted here.

So, in you opinion, if we have a v6 host communicating with a v4 host a NAT64 in the middle, then they cannot communicate using IPSec, neither transport nor tunnel mode directly between them. That includes doing nor ESP nor AH nor IKE, is that correct?
Case 2: one IPsec gateway (a common remote-access deployment).

v6-only host ==== (v6-only connectivity) === (optional v4 network) ==== IPsec Gateway ======== v4-only host
We can use normal IPv6 IPsec in tunnel mode between the v6 host and 
the gateway, followed by NAT64 on the v4 side.
but this doesn't involves the NAT64 box at all, i guess. So, even if this is a usefull case, this is transparent to the NAT64 box imho
I'm not sure what the gateway will do if we also have NAT64 on the left-hand side and IPsec traffic is then encapsulated in UDP/IPv4. We might need to require IPsec peers to allow this situation. Note that in this sub-case, the encrypted traffic is never touched, only the UDP encapsulation is.
Ok, so in this case we would have two NAT64 boxes, right?
One for inner header and other for the outer header, but the thing is that the inner header is performed AFTER the IPSec validation has been preformed. This may be interesting indeed. Still i think this is transparent to the NAT64 box right?
Case 3: two IPsec gateways (site-to-site VPN):

v6-only host ==== IPsec GW ==== (v6 and/or v4 connectivity) ==== IPsec GW ====== v4-only host
Here you can do NAT64 either on the v6 or the v4 side, assuming both 
are mixed networks, and we'd better recommend which one we prefer. 
IPsec here is definitely tunnel mode.
so here we could have a NAT64 box between the two IPSec GW?
I mean is it possible that the IPSec GW are one v6 only and the other one IPv4 only?
Case 4: dual stack host with v6-only connectivity. Yes this is perverse, but it may actually be common for a while.
In this case you could envision NAT64 happening on the host (!) which 
creates an IPv4-IPsec tunnel with its peer, encapsulates it in UDP and 
sends it into the IPv6 network.
right, but this not only requires v4 stack in the v6only node (which would be ok, since as you say it seems this will be a common case for a while) but it also requires to provision a valid IPv4 address to the v6 only node and that address is not purely local, since it will be the v4 address the v4 only node has in its IPSec SA, right?
So, even i agree this is possible i am not sure this is so interesting

Thanks, marcelo


Thanks,
   Yaron

marcelo bagnulo wrote:

Iljitsch van Beijnum escribió:
On 29 mrt 2008, at 11:25, marcelo bagnulo wrote:

So IPSec tunnel mode, even if it is supported in v4NATs seems hard to support in NAT64, since each of the peers only speack one IPversion and the inner IP header cannot be changed
But wouldn't most hosts, even if they only have IPv6 connectivity, 
usually also support IPv4 in their stack during the transition 
period? I can imagine that constrained devices may want to drop IPv4 
support but it's hard to imagine devices that are willing to run 
IPsec but are too constrained to support IPv4.
i may agree with the point that v6 only hosts will have an IPv4 
stack, but in order to make it work, we not only need to have the v4 
stack but also the v4 address, which needs to be present in the IPSec 
SA in the IPv4 only hosys (i.e. it is an IPv4 address that will be 
known by the peer)
So, if we assume that this is possible, then we are in the dual stack 
scenario, then we simply need a tunnel between a dual stack host and 
an IPv4 only host, which is not the application scenario for NAT64 imho
So, the application scenario for NAT64 seems to imply that we cannot 
assume IPv4 address available in the ipv6 only host
In summary, i still think that IPSec tunnel case cannot be supported 
in NAT64 scenario

It starts to look to me that the IPv6 side in a NAT64 scenario could 
possibly do everything that's needed to make IPsec work through 
NAT64 the same way it today works through NAT44, with only minimal 
cooperation from the NAT box.
i still cannot agree with that
regards, marcelo

GT> So, unless we are talking about IKE/IPSEC that somehow does NOT
cover IP-layer headers,
yes, there seems to be one of such cases, which is IPSec transport mode the so called telecommuter scenario
Note that IPsec transport mode is rarely used in practice.




Scanned by Check Point Total Security Gateway.