Author Archives: cbroccoli

IPv6 Tests

As my next experiment, I decided to build an IPv6 Lab to see if:

  1. I can get IPv6 running in an isolated environment
  2. I can get services running such as DNS and HTTP running over IPv6
  3. I can access the IPv6 services from IPv4 only hosts

After some work, mostly due to my lack of experience with installing BIND from scratch and learning how to configure Apache for IPv6, I finally got the following environment up and running:

(click on the diagram for a larger image)

As it turned out, I was also able to reach all of my goals.  For the most part, somethings were straight forward, others were not so straight forward. So that this post doesn’t get too long I will list the steps I took and the configurations I used in individual posts.

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.