On Wed, Oct 24, 2012 at 12:20 AM, Michael Thomas <m...@mtcc.com> wrote:

> On 10/22/2012 08:35 PM, Lorenzo Colitti wrote:
>
>  On Tue, Oct 23, 2012 at 4:18 AM, Michael Thomas <m...@mtcc.com <mailto:
>> m...@mtcc.com>> wrote:
>>
>>     No, sorry. Corporate VPN's using v6 and the lack of a coherent source
>> address selection mechanism causes breakage in bizarre and unpredictable
>> ways. You are not going to get the results you hope for if your mac uses an
>> ISP prefix to get back inside the corpro firewall, uRPF if nothing else.
>> SLAAC changes a lot of things over v4.
>>
>>
>> VPN clients already modify the routing table to ensure traffic going
>> through the VPN goes through the VPN, to enforce policies around split
>> tunneling, and so on. Mine even monitors the routing table for changes so
>> it can act on them.
>>
>
> Routing is irrelevant.


Sorry, but no. Routing is not irrelevant:

   Rule 5: Prefer outgoing interface.
   If SA is assigned to the interface that will be used to send to D and
   SB is assigned to a different interface, then prefer SA.  Similarly,
   if SB is assigned to the interface that will be used to send to D and
   SA is assigned to a different interface, then prefer SB.

The choice of outgoing interface is a routing decision and thus the routing
table can be used to influence source address selection.


> Can you explain why this behaviour, combined with the "prefer matching
>> interface" rule in RFC 3484, is not sufficient? If not, then there is no
>> problem to solve here.
>>
>
> Your ISP gives you 2001:xxxx:: via SLAAC. Your employer gives you
> 2000::, but also has 2001:yyyy::. You connect to a server on 2001:yyyy::.


You missed the "your employer configures your routing table to point
2000::/64 and 2001:yyyy::/64 to the tunnel interface" step. Your employer
has to configure your routing table today for IPv4 (either a default route
or more-specific routes to private addresses for split tunneling). In IPv6
said employer needs to give you more specifics.


> Your 3484 v6 stack picks 2001:xxxx for the source address.


Nope. A routing lookup tells the kernel that the tunnel interface will be
used to send to that destination, and the RFC3484 stack will pick 2000:: as
the source address due to rule 5 above (note that you don't need to invoke
5.5 in RFC 6724 to make this work; RFC3484 is sufficient).


> Hilarity ensues:

1) the packet gets rejected via uRPF
> 2) the return packet splats against the inside firewall since it's not
> allowed outside
> 3) the packet makes it outside unarmored with sad faces from the security
> team


As James said, none of this happens.

Now - if we want to make this in a routed network where the VPN tunnel is
not terminated on the device itself, then RFC 3484/RFC6724 are not
sufficient. But that problem not substantially different to the "multihomed
with two ISPs problem", which we are trying to solve anyway. I believe this
can be solved properly using source/destination routing.
_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to