Category: IPv6

  • SLAAC and Stateless DHCPv6 on Juniper SRX routers

    If you have struggled to find the easiest guide to getting IPv6 onto an SRX router, giving out Routing Announcements (RAs) to clients to tell them what the subnet is and using DHCPv6 to only tell them about DNS servers, you’ve come to the right place.
    You have the option of using DHCPv6 in Stateful mode, assigning IP addresses and other attributes, but that removes the SLAAC functionality and instead makes your poor little router into a DHCP database, just like it was in IPv4. There really isn’t any need to do it that way. So let’s instead build it so the clients ask the router simply where the DNS servers are and otherwise just look after themselves. We call this a “Stateless” configuration.
    The trick is to ensure that the RAs go out with the DHCP “O” flag set. This tells clients that they should work out their own IP addresses using SLAAC (by far the best way to do it and the way IPv6 was designed) but that they should poll DHCP using a “DHCPINFORM” message to get the DNS resolvers or any other related info.
    Let’s start with configuring a local IPv6 address and then turn-on RA with that flag set:

    interfaces {
        fe-0/0/0  {
           unit 0 {
             family inet6 {
                address 2a01:a000:110::1/64;
             }
           }
        }
    protocols {
         router-advertisement {
             interface fe-0/0/0.0 {
                 prefix 2a01:a000:110::/64;
                other-stateful-configuration;
             }
        }
    

    Now we’ve done that, the only thing left to do is to build a DHCPv6 config. We’ll create a DHCP pool called “mypool” but we won’t give it any IP addresses as clients will already have an address from SLAAC. Instead we will just load it with the attributes we want clients to know about.
    We’ll create an optional token as a security measure so that any DHCP reset messages heard by the client will be compared to this token and ignored if they don’t match. Then we’ll put a group together called “mygroup” containing all participating interfaces, which in this case is just fe-0/0/0.
    Notice the inclusion of the “process-inform” override. Without this, DHCP will ignore requests from clients that already have an address, assuming they have been speaking to another DHCP server. With this turned on, it will instead listen to and respond to DHCPINFORM requests and respond with the dhcp attributes set in the pool that matches the subnet the client resides in.

    system {
        services {
            dhcp-local-server {
                  dhcpv6 {
                      reconfigure {
                          token 8ysIU9E32k8r;
                      }
                      group mygroup {
                         overrides {
                             interface-client-limit 200;
                               process-inform {
                                  pool mypool;
                               }
                             }
                          interface fe-0/0/0.0;
    }}}}
    access {
       address-assignment {
          pool mypool {
             family inet6 {
                 prefix 2a01:a000:110::/64;
                 dhcp-attributes {
                       maximum-lease-time 120;
                       grace-period 3600;
                       dns-server {
                          2620:0:ccc::2;
                          2620:0:ccd::2;
    }}}}}
    

    That should pretty much do it for you. Don’t forget to do an ipconfig /release6 followed by ipconfig /renew6 on any Windows clients.
    Clients that already have DHCPv4 DNS resolvers in their config won’t necessarily show they have picked up the IPv6 DNS resolvers. The only way to be sure is to turn-off IPv4 on the client and see if you can ping a site that isn’t in the local DNS cache. On the router, you can useĀ “show dhcpv6 server statistics” to ensure you have more INFORMATION_REQUEST packets than you have drops.

  • IPv6 – Are you ready?

    I wrote a blog on my work website about IPv6 because I kept meeting customers with no clue about IPv6 but were worried about the hype.

    Now that those in the know seem to have more of an act together, we are about to hit a different hurdle.

    Most of the big networks (including mine) run dual-stack. This means any devices that need to see the “v6 Internet” are given an IPv6 address. There is nothing in the network for traditional IPv4 devices to see this new world, mainly because there are lots of approaches and no common standard. To be honest though, dual-stack is simplest to implement, understand and use.

    The avaerage home broadband user on the other hand has an IPv4 address, behind a router that probably only does IPv4 into a network that most likley has IPv6 hidden in a corner. It is when these guys start feeling the pinch about address space that things will step-change.

    There will be a land-grab for IPv4 addresses in the meantime as changing to IPv6 costs money. Keeping IPv4 doesn’t. Except for buying up any available IPv4 assets. When those prices start getting silly, economic principles dictate that IPv6 takes over.

    Until then, you can always see how ready you are for the new World: http://test-ipv6.com/

  • IPv4 – No more addresses !

    From: NCC-ANNOUNCE

    Sent: Tue Feb 01 04:27:16 2011

    Subject: [ncc-announce] IANA Allocates Two /8s of IPv4 Space to APNIC

    Dear colleagues,

    On 1 February 2011, the IANA allocated two /8s of IPv4 address space to APNIC, the Regional Internet Registry (RIR) for the Asia Pacific region.

    This means that only five /8s of IPv4 address space are left in the IANA free pool and the “Global Policy for the Allocation of the Remaining

    IPv4 Address Space” will be triggered.

    This policy can be found online at:

    http://www.icann.org/en/general/allocation-remaining-ipv4-space.htm

    When this policy comes into effect, the five RIRs will each receive one of the five remaining /8s and the global IPv4 pool will be exhausted.

    We expect IANA to allocate these final /8s within the next few days.

    For further information please see:

    http://www.ripe.net/v4exhaustion/

    Regards,

    RIPE NCC