Posts Tagged IPv6 address
This post begins a series that will create a sample IPv6 address plan for a medium sized company with multiple office sites and multiple hosting locations.
In prior posts, I’ve written about IPv6 address plans in general and shown an especially interesting plan from UCSD.EDU. This post begins to “do the math” for a hypothetical company to produce a concrete addressing plan. This company is similar to my employer but I’ve thrown in a few things that we don’t have that many other more typical companies will have.
For the purpose of this thought experiment, we’ll use a company that looks like this:
- six office locations (cities)
- three co-location facilities that host consumer-facing services
- is part of a larger multi-national, but there is no higher-level single global network
For the office locations we’ll use these criteria:
- around 5000 employees total
- some locations have multiple large groups
- most users have at least four devices that need an IP address, many have six and some have 10
- two of the locations have their own Internet connections as well as a connection on the internal WAN
- some locations have multiple Internet connections from multiple providers
The co-location facilities look like this:
- up to 5000 hosts (or instances) per location
- multiple Internet connections from multiple providers
- each location houses sub-facilities that are leased to other business units (separate private clouds and the like)
- each sub-facility needs to be independently routable via separate ISPs (not all use the same ISPs)
- also used for Disaster Recovery (DR) for the offices
With this information, we can begin to create the IPv6 address plan. Creating the plan begins with determining the Assigned Global Routing Prefix and subnet sizes and concludes with subnet numbering and routing plans.
The constraints we have to work within are:
- The assignment of the Global Routing Prefix is gone by an Internet Registrar according to their policies. You must justify the size of the allocation you request.
- Subnets are “always” on a /64 boundary (host identifiers are “always” 64 bits)
- “Sites” are groups of subnets on a /48 boundary
- Only networks with prefixes at /48 or larger are considered “publicly routable” by most ISPs. They won’t announce routing data for anything smaller.
Next time, I’ll look at these constraints and how they factor into the size of a desired Global Routing Prefix and creating a site and subnet plan.
In this post, I’ll finish up the “usual services” for my home network. So far I’ve got IPv6 routing and DNS. Now I just want to confirm that I’ve got the rest of my “core services” accessible via IPv6.
(I’ve decided that I don’t need DHCP6 for my particular network, so I’ll be skipping that.)
My remaining core services are: SSH, HTTP and SMTP.
The SSH daemon (sshd) has been configured to listen on both IPv4 and IPv6 by default for years. In fact, it attempts to listen on the IPv6 port, even if you don’t have IPv6 enabled on the host OS. In my case specifically (OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011), I was able to “ssh ::1” as soon as I had eth0 set up with an IPv6 address.
As for HTTP, Apache 2 (Apache/2.2.20 (Ubuntu)), there were no config changes needed. Apache2 will listen on all the addresses (IPv4 and IPv6) that are configured when the daemon starts. All that was needed was a “server apache2 restart” once the IPv6 address was configured, and the web server began answering IPv6 requests.
SMTP turns out to be a little harder. Postfix doesn’t listen on IPv6 ports by default. You need a few config file changes in main.cf:
# listen on IPv4 and IPv6 inet_protocols = all # add IPv6 networks to mynetworks mynetworks = 127.0.0.0/8 192.168.1.0/24 [::1]/128 [fe80::]/10 [2001:470:67:84::]/64
Then make sure you have an MX record that leads to a AAAA record, do a quick “server postfix reload”, and you’re good to go.
This wraps us the series on my home IPv6 network. There will continue to be IPv6-related posts, and I’ll be writing about our work IPv6 network beginning in mid January.