Op 14-07-2021 om 16:44 schreef Hean Seng:
Hi

I replied in another thread, i think do not need implement BGP or OSPF, that would be complicated .

We only need assign  IPv6 's /64 prefix to Virtual Router (VR) in NAT zone, and the VR responsible to deliver single IPv6 to VM via DHCP6.

In VR, you need to have Default IPv6 route to  Physical Router's /48. IP as IPv6 Gateway.  Thens should be done .

Example :
Physical Router Interface
  IPv6 IP : 2000:aaaa::1/48

Cloudstack  virtual router : 2000:aaaa:200:201::1/64 with default ipv6 route to router ip 2000:aaaa::1 and Clodustack Virtual router dhcp allocate IP to VM , and  VM will have default route to VR. IPv6 2000:aaaa:200:201::1

So in cloudstack need to allow  user to enter ,  IPv6 gwateway , and the  /48 Ipv6 prefix , then it will self allocate the /64 ip to the VR , and maintain make sure not ovelap allocation



But NAT is truly not the solution with IPv6. IPv6 is supposed to be routable. In addition you should avoid DHCPv6 as much as possible as that's not really the intended use-case for address allocation with IPv6.

In order to route an /48 IPv6 subnet to the VR you have a few possibilities:

- Static route from the upperlying routers which are outside of CloudStack
- BGP
- OSPFv3 (broken in most cases!)
- DHCPv6 Prefix Delegation

BGP and/or Static routes are still the best bet here.

So what you do is that you tell CloudStack that you will route 2001:db8::/48 to the VR, the VR can then use that to split it up into multiple /64 subnets going towards the instances:

- 2001:db8::/64
- 2001:db8:1::/64
- 2001:db8:2::/64
...
- 2001:db8:f::/64

And go on.

In case of BGP you indeed have to tell the VR a few things:

- It's own AS number
- The peer's address(es)

With FRR you can simply say:

neighbor 2001:db8:4fa::179 remote-as external

The /48 you need to have at the VR anyway in case of either a static route or BGP.

We just need to add a NullRoute on the VR for that /48 so that traffic will not be routed to the upper gateway in case of the VR can't find a route.

Wido






On Wed, Jul 14, 2021 at 8:55 PM Alex Mattioli <alex.matti...@shapeblue.com <mailto:alex.matti...@shapeblue.com>> wrote:

    Hi Wido,
That's pretty much in line with our thoughts, thanks for the input. I believe we agree on the following points then:

    - FRR with BGP (no OSPF)
    - Route /48 (or/56) down to the VR
    - /64 per network
    - SLACC for IP addressing

    I believe the next big question is then "on which level of ACS do we
    manage AS numbers?".  I see two options:
    1) Private AS number on a per-zone basis
    2) Root Admin assigned AS number on a domain/account basis
    3) End-user driven AS number on a per network basis (for bring your
    own AS and IP scenario)

    Thoughts?

    Cheers
    Alex




    -----Original Message-----
    From: Wido den Hollander <w...@widodh.nl <mailto:w...@widodh.nl>>
    Sent: 13 July 2021 15:08
    To: dev@cloudstack.apache.org <mailto:dev@cloudstack.apache.org>;
    Alex Mattioli <alex.matti...@shapeblue.com
    <mailto:alex.matti...@shapeblue.com>>
    Cc: Wei Zhou <wei.z...@shapeblue.com
    <mailto:wei.z...@shapeblue.com>>; Rohit Yadav
    <rohit.ya...@shapeblue.com <mailto:rohit.ya...@shapeblue.com>>;
    Gabriel Beims Bräscher <gabr...@pcextreme.nl
    <mailto:gabr...@pcextreme.nl>>
    Subject: Re: IPV6 in Isolated/VPC networks



    On 7/7/21 1:16 PM, Alex Mattioli wrote:
     > Hi all,
     > @Wei Zhou<mailto:wei.z...@shapeblue.com
    <mailto:wei.z...@shapeblue.com>> @Rohit
    Yadav<mailto:rohit.ya...@shapeblue.com
    <mailto:rohit.ya...@shapeblue.com>> and myself are investigating how
    to enable IPV6 support on Isolated and VPC networks and would like
    your input on it.
     > At the moment we are looking at implementing FRR with BGP (and
    possibly OSPF) on the ACS VR.
     >
     > We are looking for requirements, recommendations, ideas, rants,
    etc...etc...
     >

    Ok! Here we go.

    I think that you mean that the VR will actually route the IPv6
    traffic and for that you need to have a way of getting a subnet
    routed to the VR.

    BGP is probably you best bet here. Although OSPFv3 technically
    supports this it is very badly implemented in Frr for example.

    Now FRR is a very good router and one of the fancy features it
    supports is BGP Unnumered. This allows for auto configuration of BGP
    over a L2 network when both sides are sending Router Advertisements.
    This is very easy for flexible BGP configurations where both sides
    have dynamic IPs.

    What you want to do is that you get a /56, /48 or something which is
     >/64 bits routed to the VR.

    Now you can sub-segment this into separate /64 subnets. You don't
    want to go smaller then a /64 is that prevents you from using SLAAC
    for IPv6 address configuration. This is how it works for Shared
    Networks now in Basic and Advanced Zones.

    FRR can now also send out the Router Advertisements on the downlinks
    sending out:

    - DNS servers
    - DNS domain
    - Prefix (/64) to be used

    There is no need for DHCPv6. You can calculate the IPv6 address the
    VM will obtain by using the MAC and the prefix.

    So in short:

    - Using BGP you routed a /48 to the VR
    - Now you split this into /64 subnets towards the isolated networks

    Wido

     > Alex Mattioli
     >
     >
     >
     >



--
Regards,
Hean Seng

Reply via email to