Linux User Group of Mauritius Promoting open source software in our beautiful island

31Mar/140

Corsair Hackers Reboot, demo preps

Posted by Ish Sookun

We're approximately 3 weeks away from the Corsair Hackers Reboot. On my end I have so much in the pool. Yup, I know I'll be hopping around with almost every team that will be cheering for FOSS that day, however, I've chosen to dedicate most of my time to the Demo and Talks sections. For the latter I'm yet to come up with some interesting topics. As for the demo, ahaaan ... It's being arranged full-fledged. I'm assuring that no wish shall remain un-fulfilled that day. In my software repository, the following distributions will be made available:

  • Arch Linux
  • CentOS (32Bit & 64Bit)
  • Debian 7.4 (64Bit Full DVD set)
  • elementary OS (32Bit & 64Bit)
  • Fedora 20 (GNOME, 32Bit & 64Bit)
  • Gentoo (32Bit & 64Bit)
  • Kali Linux (32Bit & 64Bit)
  • Linux Mint (Cinnamon, Mate, Debian Edition, 32Bit & 64Bit)
  • Mageia 4 (Full, 64Bit)
  • Manjaro Linux (XFCE, OpenBox, 32Bit & 64Bit)
  • openSUSE 13.1 (Full, 32Bit & 64Bit)
  • PCLinuxOS (KDE, 64Bit)
  • Slackware 14.1 (32 Bit & 64Bit)
  • Slax 7.0 (32Bit & 64Bit)
  • Ubuntu Desktop/Server 12.04/13.10 (32Bit & 64Bit)

I can't guarantee that all the distributions will be running/demo'ed on physical machines but they will nevertheless be freely available to all. You may copy it, burn it & try on your own laptop. We may of course help you in case there are any hiccups booting it up. CD/DVD burning on our end might be difficult, so I'll suggest folks to bring a pendrive instead if you want a Live Linux. As for those who wish to have their machine Tux'ed (ahaan, that sounds like a nice name for a Linux powered machine), we will handle the installation part. We have set up an Installfest Team dedicated at installing Linux distros (of your choice). We do have a backup mechanism to ensure that your data are safe, however we cannot take full responsibility if something goes wrong. So, if you're bringing your machine for a Linux installation, you could do a backup on your end too.

Any other operating system apart from Linux? Yup, indeed, for the more geekies I'm bringing Minix, Debian Hurd, OpenBSD, FreeBSD and NetBSD.

Computer Science students might be interested to have a look at Minix, an open source operating system by Prof. Andrew Tanenbaum. Minix was in fact the inspirational platform for Linus Torvalds to start coding the Linux kernel back in the early 90's.

Hurd on the other hand is the iconic operating system by the Free Software Foundation. GNU Hurd was expected to be the kernel for the free GNU Operating System. However, development & design of the microkernel has been slow and Linux on the other hand prospered. Linux therefore became the prime choice of kernel.

BSD needs no introduction here. :-)

What about Windows users?

Since the event is about promoting FOSS in general, we're not limiting ourself to operating systems. Our software repository will contain free & open source applications for Microsoft Windows as well. So far my pool has the latest versions of Firefox, Chromium Browser, FileZilla, FreeCAD, GIMP, Inkscape, Notepad++, VirtualBox, VLC, LibreOffice, Abiword, ClamWin, Audacity, GanttPV, GnuCash, X-Chat and NASA World Wind.

I'm all set for an awesome FOSS party on Saturday 19th April 2014. Are you?

31Mar/140

Corsair Hackers Reboot, demo preps

Posted by Ish

We’re approximately 3 weeks away from the Corsair Hackers Reboot. On my end I have so much in the pool. Yup, I know I’ll be hopping around with almost every team that will be cheering for FOSS that day, however, I’ve chosen to dedicate most of my time to the Demo and Talks sections. For the latter I’m yet to come up with some interesting topics. As for the demo, ahaaan … It’s being arranged full-fledged. I’m assuring that no wish shall remain un-fulfilled that day. In my software repository, the following distributions will be made available :

- Arch Linux
- CentOS (32Bit & 64Bit)
- Debian 7.4 (64Bit Full DVD set)
- elementary OS (32Bit & 64Bit)
- Fedora 20 (GNOME, 32Bit & 64Bit)
- Gentoo (32Bit & 64Bit)
- Kali Linux (32Bit & 64Bit)
- Linux Mint (Cinnamon, Mate, Debian Edition, 32Bit & 64Bit)
- Mageia 4 (Full, 64Bit)
- Manjaro Linux (XFCE, OpenBox, 32Bit & 64Bit)
- openSUSE 13.1 (Full, 32Bit & 64Bit)
- PCLinuxOS (KDE, 64Bit)
- Slackware 14.1 (32 Bit & 64Bit)
- Slax 7.0 (32Bit & 64Bit)
- Ubuntu Desktop/Server 12.04/13.10 (32Bit & 64Bit)

linux-distros

... among others!

I can’t guarantee that all the distributions will be running/demo’ed on physical machines but they will nevertheless be freely available to all. You may copy it, burn it & try on your own laptop. We may of course help you in case there are any hiccups booting it up. CD/DVD burning on our end might be difficult, so I’ll suggest folks to bring a pendrive instead if you want a Live Linux. As for those who wish to have their machine Tux’ed (ahaan, that sounds like a nice name for a Linux powered machine), we will handle the installation part. We have set up an Installfest Team dedicated at installing Linux distros (of your choice). We do have a backup mechanism to ensure that your data are safe, however we cannot take full responsibility if something goes wrong. So, if you’re bringing your machine for a Linux installation, you could do a backup on your end too.

nix-pack-1Any other operating system apart from Linux? Yup, indeed, for the more geekies I’m bringing Minix, Debian Hurd, OpenBSD, FreeBSD and NetBSD.

Computer Science students might be interested to have a look at Minix, an open source operating system by Prof. Andrew Tanenbaum. Minix was in fact the inspirational platform for Linus Torvalds to start coding the Linux kernel back in the early 90′s.

Hurd on the other hand is the iconic operating system by the Free Software Foundation. GNU Hurd was expected to be the kernel for the free GNU Operating System. However, development & design of the microkernel has been slow and Linux on the other hand prospered. Linux therefore became the prime choice of kernel.

BSD needs no introduction here ( :

What about Windows users?

Since the event is about promoting FOSS in general, we’re not limiting ourself to operating systems. Our software repository will contain free & open source applications for Microsoft Windows as well. So far my pool has the latest versions of Firefox, Google Chrome, FileZilla, FreeCAD, GIMP, Inkscape, Notepad++, VirtualBox, VLC, LibreOffice, Abiword, ClamWin, Audacity, GanttPV, GnuCash, X-Chat and NASA World Wind.

I’m all set for an awesome FOSS party on Saturday 19th April 2014. Are you?

Tagged as: No Comments
24Mar/140

Linux User Group Meta, Annual General Meeting – 12/04/14 12hr @ Lambic

Posted by Selven

Members,

This is to inform you that we shall have our Annual General Meeting held on the 12th of April 2014 at 12hr to 15hr.

Venue: Lambic Conference Room, 4 St. George Street Port louis

Map:
location-plan-black-big
Agenda:
            1. Reading and Approval of Annual Report by Secretary
            2. Reading of Financial Reports by Treasurer.
            3. President's speech
            3. Payment of membership fees.
            5. AOB
            4. Election of new board members.
ps. Venue is already booked so we cannot cancel this.
pps. A further meeting for executive members to perform handing over, and for executive members to elect office bearers among themselves will be held 3 weeks after this meeting.
ppps: This meeting is Members ONLY.
Sincerely,
Pirabarlen Cheenaramen (Selven)

Secretary of the Linux User Group Meta.

Filed under: Uncategorized No Comments
19Mar/140

Fixing Bittorrent clients crashing on Ubuntu

Posted by Avinash Meetoo

20140319-bittorrent

There are many Bittorrent client in Linux and, under Ubuntu (and this is surely true for other Linux distributions too), most of them depend on a library called libtorrent.

Under Ubuntu 12.04 LTS, libtorrent is buggy and causes Bittorrent clients to crash on a regular basis. The solution is, of course, to upgrade libtorrent from 0.15 to its latest version 0.16. The way to do that is to add the ppa:surfernsk/internet-software PPA and upgrade the whole system:

sudo add-apt-repository ppa:surfernsk/internet-software

sudo apt-get update

sudo apt-get upgrade

Doing that upgrades python-libtorrent to 0.16 and installs libtorrent-rasterbar7. Removing libtorrent-rasterbar6 (which is not needed anymore) is simply a

sudo aptitude remove libtorrent-rasterbar6

Since doing that, Deluge, the Bittorrent client I use, hasn’t crashed at all. Life is cool.

(Solution obtained in the Deluge forum)

19Mar/140

Fixing Bittorrent clients crashing on Ubuntu

Posted by Avinash Meetoo

20140319-bittorrent

There are many Bittorrent client in Linux and, under Ubuntu (and this is surely true for other Linux distributions too), most of them depend on a library called libtorrent.

Under Ubuntu 12.04 LTS, libtorrent is buggy and causes Bittorrent clients to crash on a regular basis. The solution is, of course, to upgrade libtorrent from 0.15 to its latest version 0.16. The way to do that is to add the ppa:surfernsk/internet-software PPA and upgrade the whole system:

sudo add-apt-repository ppa:surfernsk/internet-software

sudo apt-get update

sudo apt-get upgrade

Doing that upgrades python-libtorrent to 0.16 and installs libtorrent-rasterbar7. Removing libtorrent-rasterbar6 (which is not needed anymore) is simply a

sudo aptitude remove libtorrent-rasterbar6

Since doing that, Deluge, the Bittorrent client I use, hasn’t crashed at all. Life is cool.

(Solution obtained in the Deluge forum)

16Mar/140

LUGM meetup, Software Licensing

Posted by Ish Sookun

Many times on LUGM facebook group we had fierce debates over GPL and BSD-license. Flame-wars sprouted very often, some times even from an innocent status we might have put. Therefore a few weeks ago it was decided that we have a meetup that will ensure clarifying misconceptions regarding software licenses. The date was announced to be 15th March 2014 at the convenience of everybody. Selven & Logan were to talk about Lesser Restrictive Licenses in particular the BSD-license and Ajay volunteered to share his knowledge about the General Public License (GPL), in particular GPLv2.

The day comes and I reach Ebène around 11h45. While the meetup itself should start at 13h00, I had enough of time ahead to have lunch & chat with UoM Computer Club folks I happened to meet at Ebène InterMart Foodcourt. Around 12h45 I went to Ebène Accelerator where the meetup was hosted. Ronny had reached by that time too, having a cigarette puff in the parking lot. He greeted me & asked about my phone as it seemed Ajay was calling me and I didn’t answer. I checked and yes, I could see the missed-calls from Nadim, Ajay and Ronny. We went inside the Orange Tower. Nitin had reached too. I explained Ronny a little bit about the concept of Ebène Accelerator as a business incubator. We then went to get the meeting room ready. A short while later others came.

Who showed up?

Nitin Mutkawoa, Ronny Reddi, Ajay Ramjatan, Avinash Meetoo, Pravesh Gaonjur, Selven Cheenaramen, Nalinee Rengenchetty, Sherven Chinamoothoo, Yunus Aumeeruddy, Ibraahim Atchia, Saamiyah Peerun, Ubeid Jamal Ahmad, Nadim Attari Bundhoo, Kishan Bhugul, Loganaden Velvindron, A. Jodarsen (Chelon), Pritvi Jheengut and me.

Since we didn’t have a projector, which I assumed we would as there always is one at Ebène Accelerator, Selven & Logan tried to arrange for the same. In the meantime Ajay opened discussion about Corsair Hackers Reboot. He went through the tasklist I published on the 1-week brainstorming event I created on facebook. We described the event’s structure & aim, especially to those who didn’t attend earlier meetups and wanted clarifications. Corsair Hackers Reboot was initially proposed by Pritvi while I suggested we have a Linux Installfest beginning 2014. We then blended both and kept the name Corsair Hackers Reboot. The idea behind the event is to introduce hacking (as in White Hat), that’s why the term Corsair is used. Secondly, with support ending for Windows XP we aimed to propose Linux distros and BSD as alternatives, therefore the term reboot is used.

We finalised the date of the event to be 19th April 2014 and divided tasks in four categories :

  • Hacking competition
  • Installation festival
  • Demos
  • Mini talks

I will draft the same and share on the 1-week brainstorming event page.

After this first dicussion, Selven & Logan brought the projector. They set up everything. Unfortunately some folks had to leave early. The rest of us were eager for the licensing talk. It started with Selven’s presentation on Lesser Restrictive Licenses. He went through his slides and gave us an overview of the MIT, Apache and BSD licenses. He laid emphasis mostly on the different versions of BSD licenses, explained the clauses in simple terms and elaborated on the use and inclusion in our code. While going through each license, Selven listed software that are released under those licenses. He stressed much on the simplicity and clarity of the BSD license, to which most of us agreed.

Logan on the other hand presented the Legal Risks of FSF Licenses. His presentation was mainly on the ambiguity of FSF licenses, in particular GPLv3. He quoted the words of various developers and cited cases that involved different interpretations of the GPL clauses.

At this moment everyone in the audience was involved with questions and especially Ajay with GPL clarifications. We agreed on the fact that GPLv3 is complicated and might not be suitable to a real world. However, GPLv2 seems to be fine so far. No wonder why many stayed on GPLv2. At some point it came to my mind that the Free Software Foundation tried addressing too much through one license, ending up making it complicated. Weeks ago when the discussions started, that was when I peeked into a few clauses of GPLv3 and wrote about Tivoization.

While meetup seemed like never-to-end we had to stop the discussion some time after 16h30. Nadim had done a great job shooting the whole discussion. I copied the video files on my laptop.

I thank everyone for attending the meetup and participating in the discussions. Thanks to Ronny for some of the snaps and Nadim for video-shooting.

16Mar/140

LUGM meetup, Software Licensing

Posted by Ish

Many times on LUGM facebook group we had fierce debates over GPL and BSD-license. Flame-wars sprouted very often, some times even from an innocent status we might have put. Therefore a few weeks ago it was decided that we have a meetup that will ensure clarifying misconceptions regarding software licenses. The date was announced to be 15th March 2014 at the convenience of everybody. Selven & Logan were to talk about Lesser Restrictive Licenses in particular the BSD-license and Ajay volunteered to share his knowledge about the General Public License (GPL), in particular GPLv2.

ebene-acceleratorThe day comes and I reach Ebène around 11h45. While the meetup itself should start at 13h00, I had enough of time ahead to have lunch & chat with UoM Computer Club folks I happened to meet at Ebène InterMart Foodcourt. Around 12h45 I went to Ebène Accelerator where the meetup was hosted. Ronny had reached by that time too, having a cigarette puff in the parking lot. He greeted me & asked about my phone as it seemed Ajay was calling me and I didn’t answer. I checked and yes, I could see the missed-calls from Nadim, Ajay and Ronny. We went inside the Orange Tower. Nitin had reached too. I explained Ronny a little bit about the concept of Ebène Accelerator as a business incubator. We then went to get the meeting room ready. A short while later others came.

Who showed up?

Nitin Mutkawoa, Ronny Reddi, Ajay Ramjatan, Avinash Meetoo, Pravesh Gaonjur, Selven Cheenaramen, Nalinee Rengenchetty, Sherven Chinamoothoo, Yunus Aumeeruddy, Ibraahim Atchia, Saamiyah Peerun, Ubeid Jamal Ahmad, Nadim Attari Bundhoo, Kishan Bhugul, Loganaden Velvindron, A. Jodarsen (Chelon), Pritvi Jheengut and Ish Sookun.

lugm-meetup-software-licensing-6

lugm-meetup-software-licensing-1

Since we didn’t have a projector, which I assumed we would as there always is one at Ebène Accelerator, Selven & Logan tried to arrange for the same. In the meantime Ajay opened discussion about Corsair Hackers Reboot. He went through the tasklist I published on the 1-week brainstorming event I created on facebook. We described the event’s structure & aim, especially to those who didn’t attend earlier meetups and wanted clarifications. Corsair Hackers Reboot was initially proposed by Pritvi while I suggested we have a Linux Installfest beginning 2014. We then blended both and kept the name Corsair Hackers Reboot. The idea behind the event is to introduce hacking (as in White Hat), that’s why the term Corsair is used. Secondly, with support ending for Windows XP we aimed to propose Linux distros and BSD as alternatives, therefore the term reboot is used.

We finalised the date of the event to be 19th April 2014 and divided tasks in four categories :

  • Hacking competition
  • Installation festival
  • Demos
  • Mini talks

I will draft the same and share on the 1-week brainstorming event page.

After this first dicussion, Selven & Logan brought the projector. They set up everything. Unfortunately some folks had to leave early. The rest of us were eager for the licensing talk. It started with Selven’s presentation on Lesser Restrictive Licenses. He went through his slides and gave us an overview of the MIT, Apache and BSD licenses. He laid emphasis mostly on the different versions of BSD licenses, explained the clauses in simple terms and elaborated on the use and inclusion in our code. While going through each license, Selven listed software that are released under those licenses. He stressed much on the simplicity and clarity of the BSD license, to which most of us agreed.

lugm-meetup-software-licensing-7

Selven talking about MIT license

Logan on the other hand presented the Legal Risks of FSF Licenses. His presentation was mainly on the ambiguity of FSF licenses, in particular GPLv3. He quoted the words of various developers and cited cases that involved different interpretations of the GPL clauses.

lugm-meetup-software-licensing-8

Logan talking about legal risks with FSF licenses

At this moment everyone in the audience was involved with questions and especially Ajay with GPL clarifications. We agreed on the fact that GPLv3 is complicated and might not be suitable to a real world. However, GPLv2 seems to be fine so far. No wonder why many stayed on GPLv2. At some point it came to my mind that the Free Software Foundation tried addressing too much through one license, ending up making it complicated. Weeks ago when the discussions started, that was when I peeked into a few clauses of GPLv3 and wrote about Tivoization.

While meetup seemed like never-to-end we had to stop the discussion some time after 16h30. Nadim had done a great job shooting the whole discussion. I copied the video files on my laptop. Ahaan … You guessed right! If you have missed the meetup, you can still watch the whole Software Licensing discussion in the following videos:

I thank everyone for attending the meetup and participating in the discussions. Thanks to Ronny for some of the snaps and Nadim for video-shooting.
16Mar/140

Accessing your web server via IPv6

Posted by Jochen Kirstaetter

Being able to run your systems on IPv6, have automatic address assignment and the ability to resolve host names are the necessary building blocks in your IPv6 network infrastructure. Now, that everything is in place it is about time that we are going to enable another service to respond to IPv6 requests. The following article will guide through the steps on how to enable Apache2 httpd to listen and respond to incoming IPv6 requests.

This is the fourth article in a series on IPv6 configuration:

Piece of advice: This is based on my findings on the internet while reading other people's helpful articles and going through a couple of man-pages on my local system.

Surfing the web - IPv6 style

Enabling IPv6 connections in Apache 2 is fairly simply. But first let's check whether your system has a running instance of Apache2 or not. You can check this like so:

$ service apache2 status
Apache2 is running (pid 2680).

In case that you got a 'service unknown' you have to install Apache to proceed with the following steps:

$ sudo apt-get install apache2

Out of the box, Apache binds to all your available network interfaces and listens to TCP port 80. To check this, run the following command:

$ sudo netstat -lnptu | grep "apache2\W*$"
tcp6       0      0 :::80                   :::*                    LISTEN      28306/apache2

In this case Apache2 is already binding to IPv6 (and implicitly to IPv4). If you only got a tcp output, then your HTTPd is not yet IPv6 enabled.

Check your Listen directive, depending on your system this might be in a different location than the default in Ubuntu.

$ sudo nano /etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Just in case that you don't have a ports.conf file, look for it like so:

$ cd /etc/apache2/
$ fgrep -r -i 'listen' ./*

And modify the related file instead of the ports.conf. Which most probably might be either apache2.conf or httpd.conf anyways.

Okay, please bear in mind that Apache can only bind once on the same interface and port. So, eventually, you might be interested to add another port which explicitly listens to IPv6 only. In that case, you would add the following in your configuration file:

Listen 80
Listen [2001:db8:bad:a55::2]:8080

But this is completely optional... Anyways, just to complete all steps, you save the file, and then check the syntax like so:

$ sudo apache2ctl configtest
Syntax OK

Ok, now let's apply the modifications to our running Apache2 instances:

$ sudo service apache2 reload
 * Reloading web server config apache2
   ...done.

$ sudo netstat -lnptu | grep "apache2\W*$"                                                                                              
tcp6       0      0 2001:db8:bad:a55:::8080 :::*                    LISTEN      5922/apache2   
tcp6       0      0 :::80                   :::*                    LISTEN      5922/apache2

There we have two daemons running and listening to different TCP ports.

Now, that the basics are in place, it's time to prepare any website to respond to incoming requests on the IPv6 address. Open up any configuration file you have below your sites-enabled folder.

$ ls -al /etc/apache2/sites-enabled/
...

$ sudo nano /etc/apache2/sites-enabled/000-default

<VirtualHost *:80 [2001:db8:bad:a55::2]:8080>
        ServerAdmin webmaster@ios.mu
        ServerName server.ios.mu
        ServerAlias server

Here, we have to check and modify the VirtualHost directive and enable it to respond to the IPv6 address and port our web server is listening to. Save your changes, run the configuration test and reload Apache2 in order to apply your modifications. After successful steps you can launch your favourite browser and navigate to your IPv6 enabled web server.

Accessing an IPv6 address in the browser
Accessing an IPv6 address in the browser

That looks like a successful surgery to me...

Note: In case that you received a timeout, check whether your client is operating on IPv6, too.

Tagged as: No Comments
16Mar/140

Accessing your web server via IPv6

Posted by Jochen Kirstaetter

Being able to run your systems on IPv6, have automatic address assignment and the ability to resolve host names are the necessary building blocks in your IPv6 network infrastructure. Now, that everything is in place it is about time that we are going to enable another service to respond to IPv6 requests. The following article will guide through the steps on how to enable Apache2 httpd to listen and respond to incoming IPv6 requests.

This is the fourth article in a series on IPv6 configuration:

Piece of advice: This is based on my findings on the internet while reading other people's helpful articles and going through a couple of man-pages on my local system.

Surfing the web - IPv6 style

Enabling IPv6 connections in Apache 2 is fairly simply. But first let's check whether your system has a running instance of Apache2 or not. You can check this like so:

$ service apache2 status
Apache2 is running (pid 2680).

In case that you got a 'service unknown' you have to install Apache to proceed with the following steps:

$ sudo apt-get install apache2

Out of the box, Apache binds to all your available network interfaces and listens to TCP port 80. To check this, run the following command:

$ sudo netstat -lnptu | grep "apache2\W*$"
tcp6       0      0 :::80                   :::*                    LISTEN      28306/apache2

In this case Apache2 is already binding to IPv6 (and implicitly to IPv4). If you only got a tcp output, then your HTTPd is not yet IPv6 enabled.

Check your Listen directive, depending on your system this might be in a different location than the default in Ubuntu.

$ sudo nano /etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Just in case that you don't have a ports.conf file, look for it like so:

$ cd /etc/apache2/
$ fgrep -r -i 'listen' ./*

And modify the related file instead of the ports.conf. Which most probably might be either apache2.conf or httpd.conf anyways.

Okay, please bear in mind that Apache can only bind once on the same interface and port. So, eventually, you might be interested to add another port which explicitly listens to IPv6 only. In that case, you would add the following in your configuration file:

Listen 80
Listen [2001:db8:bad:a55::2]:8080

But this is completely optional... Anyways, just to complete all steps, you save the file, and then check the syntax like so:

$ sudo apache2ctl configtest
Syntax OK

Ok, now let's apply the modifications to our running Apache2 instances:

$ sudo service apache2 reload
 * Reloading web server config apache2
   ...done.

$ sudo netstat -lnptu | grep "apache2\W*$"                                                                                              
tcp6       0      0 2001:db8:bad:a55:::8080 :::*                    LISTEN      5922/apache2   
tcp6       0      0 :::80                   :::*                    LISTEN      5922/apache2

There we have two daemons running and listening to different TCP ports.

Now, that the basics are in place, it's time to prepare any website to respond to incoming requests on the IPv6 address. Open up any configuration file you have below your sites-enabled folder.

$ ls -al /etc/apache2/sites-enabled/
...

$ sudo nano /etc/apache2/sites-enabled/000-default

<VirtualHost *:80 [2001:db8:bad:a55::2]:8080>
        ServerAdmin webmaster@ios.mu
        ServerName server.ios.mu
        ServerAlias server

Here, we have to check and modify the VirtualHost directive and enable it to respond to the IPv6 address and port our web server is listening to. Save your changes, run the configuration test and reload Apache2 in order to apply your modifications. After successful steps you can launch your favourite browser and navigate to your IPv6 enabled web server.

Accessing an IPv6 address in the browser
Accessing an IPv6 address in the browser

That looks like a successful surgery to me...

Note: In case that you received a timeout, check whether your client is operating on IPv6, too.

Tagged as: No Comments
12Mar/140

Enabling DNS for IPv6 infrastructure

Posted by Jochen Kirstaetter

After successful automatic distribution of IPv6 address information via DHCPv6 in your local network it might be time to start offering some more services. Usually, we would use host names in order to communicate with other machines instead of their bare IPv6 addresses. During the following paragraphs we are going to enable our own DNS name server with IPv6 address resolving.

This is the third article in a series on IPv6 configuration:

Piece of advice: This is based on my findings on the internet while reading other people's helpful articles and going through a couple of man-pages on my local system.

What's your name and your IPv6 address?

$ sudo service bind9 status
 * bind9 is running

If the service is not recognised, you have to install it first on your system. This is done very easy and quickly like so:

$ sudo apt-get install bind9

Once again, there is no specialised package for IPv6. Just the regular application is good to go.

But of course, it is necessary to enable IPv6 binding in the options. Let's fire up a text editor and modify the configuration file.

$ sudo nano /etc/bind/named.conf.options

acl iosnet {
        127.0.0.1;
        192.168.1.0/24;
        ::1/128;
        2001:db8:bad:a55::/64;
};

listen-on { iosnet; };
listen-on-v6 { any; };

allow-query { iosnet; };
allow-transfer { iosnet; };

Most important directive is the listen-on-v6. This will enable your named to bind to your IPv6 addresses specified on your system. Easiest is to specify any as value, and named will bind to all available IPv6 addresses during start. More details and explanations are found in the man-pages of named.conf.

Save the file and restart the named service. As usual, check your log files and correct your configuration in case of any logged error messages. Using the netstat command you can validate whether the service is running and to which IP and IPv6 addresses it is bound to, like so:

$ sudo service bind9 restart

$ sudo netstat -lnptu | grep "named\W*$"
tcp        0      0 192.168.1.2:53        0.0.0.0:*               LISTEN      1734/named     
tcp        0      0 127.0.0.1:53          0.0.0.0:*               LISTEN      1734/named     
tcp6       0      0 :::53                 :::*                    LISTEN      1734/named     
udp        0      0 192.168.1.2:53        0.0.0.0:*                           1734/named     
udp        0      0 127.0.0.1:53          0.0.0.0:*                           1734/named     
udp6       0      0 :::53                 :::*                                1734/named 

 Sweet! Okay, now it's about time to resolve host names and their assigned IPv6 addresses using our own DNS name server.

$ host -t aaaa www.6bone.net 2001:db8:bad:a55::2
Using domain server:
Name: 2001:db8:bad:a55::2
Address: 2001:db8:bad:a55::2#53
Aliases:

www.6bone.net is an alias for 6bone.net.
6bone.net has IPv6 address 2001:5c0:1000:10::2

Alright, our newly configured BIND named is fully operational.

Eventually, you might be more familiar with the dig command. Here is the same kind of IPv6 host name resolve but it will provide more details about that particular host as well as the domain in general.

$ dig @2001:db8:bad:a55::2 www.6bone.net. AAAA

More details on the Berkeley Internet Name Domain (bind) daemon and IPv6 are available in Chapter 22.1 of Peter Bieringer's HOWTO on IPv6.

Setting up your own DNS zone

Now, that we have an operational named in place, it's about time to implement and configure our own host names and IPv6 address resolving. The general approach is to create your own zone database below the bind folder and to add AAAA records for your hosts. In order to achieve this, we have to define the zone first in the configuration file named.conf.local.

$ sudo nano /etc/bind/named.conf.local

//
// Do any local configuration here
//
zone "ios.mu" {
        type master;
        file "/etc/bind/zones/db.ios.mu";
};

Here we specify the location of our zone database file. Next, we are going to create it and add our host names, our IP and our IPv6 addresses.

$ sudo nano /etc/bind/zones/db.ios.mu

$ORIGIN .
$TTL 259200     ; 3 days
ios.mu                  IN SOA  ios.mu. hostmaster.ios.mu. (
                                2014031101 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      server.ios.mu.
$ORIGIN ios.mu.
server                  A       192.168.1.2
server                  AAAA    2001:db8:bad:a55::2
client1                 A       192.168.1.3
client1                 AAAA    2001:db8:bad:a55::3
client2                 A       192.168.1.4
client2                 AAAA    2001:db8:bad:a55::4

With a couple of machines in place, it's time to reload that new configuration.

Note: Each time you are going to change your zone databases you have to modify the serial information, too. Named loads the plain text zone definitions and converts them into an internal, indexed binary format to improve lookup performance. If you forget to change your serial then named will not use the new records from the text file but the indexed ones. Or you have to flush the index and force a reload of the zone.

This can be done easily by either restarting the named:

$ sudo service bind9 restart

or by reloading the configuration file using the name server control utility - rndc:

$ sudo rndc reconfig

Check your log files for any error messages and whether the new zone database has been accepted. Next, we are going to resolve a host name trying to get its IPv6 address like so:

$ host -t aaaa server.ios.mu. 2001:db8:bad:a55::2
Using domain server:
Name: 2001:db8:bad:a55::2
Address: 2001:db8:bad:a55::2#53
Aliases:

server.ios.mu has IPv6 address 2001:db8:bad:a55::2

Looks good.

Alternatively, you could have just ping'd the system as well using the ping6 command instead of the regular ping:

$ ping6 server
PING server(2001:db8:bad:a55::2) 56 data bytes
64 bytes from 2001:db8:bad:a55::2: icmp_seq=1 ttl=64 time=0.615 ms
64 bytes from 2001:db8:bad:a55::2: icmp_seq=2 ttl=64 time=0.407 ms
^C
--- ios1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.407/0.511/0.615/0.104 ms

That also looks promising to me. How about your configuration?

Next, it might be interesting to extend the range of available services on the network. One essential service would be to have web sites at hand.

Tagged as: No Comments