Monthly Archives: November 2010

IPv6 Addressing

Before I start with the actual configuration, a word on addressing.

I understand that I should use my own unique local unicast address (ULA) as defined in RFC4193 so that my network is compliant with best practice IPv6 implementations. ULAs are not expected to be routed on the global Internet.  They are routable inside of a more limited area such as a site.  They may also be routed between a limited number of sites.   ULAs are all part of the FD::/7 (officially FC::/7 with the lowest order bit set to one) network. Based on this, 2,199,023,255,55 /48 subnets can be defined.  The hope is that if organizations pick random /48 subnets, the chances of two companies who need to communicate directly with one another (communication between a limited number of sites) picking the same subnet are extreamly low.  This solves the problem currently present in IPv4 where most companies choose one of the RFC1918 networks and the chances of a collision are very high. Therefore, for B2B connections or mergers and acquisitions, IPv6 should be much better than IPv4.

So in that vain, I googled a tool to do just that and I got the following ULA from SixXS (www.sixxs.net): fdc1:e1f2:425d::/48.   I will subnet my networks into /64 subnets which will allow me to have 65’536 subnets.

The subnets I am using then are:

  1. fdc1:e1f2:425d:1::/64 – Link between routers
  2. fdc1:e1f2:425d:2::/64 – Host subnet (VBox Host Internal Network)
  3. fdc1:e1f2:425d:3::/64 – Tunnel interface for ISATAP tunnel endpoint.

I configured all routers with a EUI-64 address for the host portion of the address, which is generated by the router automatically.  The EUI-64 address is generated as follows:

“For all IEEE 802 interface types (for example, Ethernet, and FDDI interfaces), the first three octets (24 bits) are taken from the Organizationally Unique Identifier (OUI) of the 48-bit link-layer address (the Media Access Control [MAC] address) of the interface, the fourth and fifth octets (16 bits) are a fixed hexadecimal value of FFFE, and the last three octets (24 bits) are taken from the last three octets of the MAC address. The construction of the interface ID is completed by setting the Universal/Local (U/L) bit—the seventh bit of the first octet—to a value of 0 or 1. A value of 0 indicates a locally administered identifier; a value of 1 indicates a globally unique IPv6 interface identifier.” ( see Cisco IOS IPv6 Configuration Guide, Release 12.4 for more information).

b2evolution Setup

Before adding the blog feature to broccolifamily.net I wanted to try and get a blog running on my own.  I also wasn’t sure how to integrate it with the rest of the pages or how exactly it would work.  Fatcow offered a couple of blogging engines (WordPress, b2evolution, etc.).  In the end I selected b2 evolution and downloaded the latest release to Windows and extracted it to my web_projects directory.

b2evo requires that Apache, MySQL, and PHP be installed on the web server. Since I have the Ubuntu server running in VBox, I decided to use it as my web server.  I also installed PhpMyAdmin to allow me to managed MySQL from a web gui.

sudo apt-get install apache
sudo apt-get install mysql-server
sudo apt-get install php5-cli
sudo apt-get install phpmyadmin

Once all 4 were installed, I logged in to phpmyadmin (http://192.168.1.108/phpmyadmin/ ) as root using the password defined when installing MySQL. Added cbroccoli with my standard password and all admin rights.I then created a new database called b2evo with the default characteristics.

Added another user for b2evoltion to access the db: u: b2evo / p: b2evouser

Once this was done, I uploaded the blog directory as a subdirectory in the web site. This allowed me to then open the page: http://192.168.1.xx/blogs/install/index.php to complete the installation.

Once this was done, the dashboard was available and so were the sample blogs.  I followed the instructions to create a new skin as described in:

http://manual.b2evolution.net/Create_a_new_skin

The skin is basically the php code which generates the blog page. Problem is that the code which is listed on the web page is wrong, by copying the core code from one of the other skins (the custom skin), I was able to get my information added to the page. Now it is just a matter of updating the style tags to match the rest of the web site.

Test Environment

My test environment consists primarily of a single generic Compaq PC with a Intel dual core processor with 4G of memory.  It came with 64bit Windows7 installed.

Other than the Windows7 OS running on the PC, I am using exclusively OpenSource software.  I considered replacing Windows with a Linux desktop, but I decided against it since I am also interested in seeing how Windows7 works.  Instead, I downloaded OracleVirtualBox so that I can also install various Linux systems and still keep my Windows desktop.  VBox installed without any problems and I was able to install virtual hosts immediately.  The first host I installed was an Ubuntu desktop.  VBox comes with several networking methods (NAT, bridged, internal network, and host-only network).  Each has its own benefits which are explained very well in the documentation.

Of course being into networks, I have also downloaded and installed GNS3.  GNS3 is a network simulation tool which allows you to build virtual networks.  The virtual devices actually boot images in a similar way that VBox and VMWare install and boot virtual machines.  Thanks to a colleague of mine, I was able to obtain a couple of Cisco IOS images as well as an ASA image.

Once both tools are installed, the two virtual environments work very well together.  GNS3 can see both the VBox host-only network and the Microsoft Loopback adapter, which is bridged to the external LAN (my WLAN in this case).    By doing this you can build an internal network with a number of routers and Vbox end systems all reachable from your normal home devices.

Finally, I have installed Ubuntu virtual server which I use for testing server features.  The Ubuntu server is currently running Apache, MySQL, and PHP so that I could learn about b2evolution (the blogging engine I am using) before integrating it into the web site.

That’s what I have put together so far.  Next step is to add some configuration details of how each piece is configured since it did take some research to get things working and I need to get them documented.