Sunday, 30 December 2007

Activate IPV6 on e-smith (sme server)

Free ISP has just launch ipv6 on their network.
Free is the best ISP in france for geeks ;) and it's also my ISP...

So... as ipv6 is available, I'd like to play with it...

Here is the steps I've followed to activate the ipv6 supports on my e-smith server (sme server) 7.2.

I've read the following howto to get this working :

http://tldp.org/HOWTO/Linux+IPv6-HOWTO/index.html


Kernel



To check if ipv6 is activated on your system, run the following command :

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"


If it display "Running kernel is IPv6 ready", then your system is ready for ipv6.

By default, it's not the case on the e-smith.

You can load the ipv6 module by executing the following command :

modprobe ipv6

The command is silent (if no error, no message is displayed)

Run the previous test again, it should now succeed.

In order, this module to be loaded automatically, you need to have this line in /etc/modprobe.conf :

alias net-pf-10 ipv6  # automatically load IPv6 module on demand


e-smith template system



With the e-smith template system, here is what to do :

the content of the /etc/modprobe.conf is generated from the file itself (and not the berkley database)

The e-smith template system forces the desactivation of ipv6.


mkdir -p /etc/e-smith/templates-custom/etc/modprobe.conf
cp /etc/e-smith/templates/etc/modprobe.conf/10net-fp-aliases /etc/e-smith/templates-custom/etc/modprobe.conf

vi /etc/e-smith/templates-custom/etc/modprobe.conf/10net-fp-aliases


Here, I create a copy of the template script that forbids the ipv6 in the templates-custom tree to override this forbidding.

in /etc/e-smith/templates-custom/etc/modprobe.conf/10net-fp-aliases
you need to delete

# alias IPV6 off
"alias net-pf-10 off",


Now, edit /etc/modprobe.conf
and replace the line

"alias net-pf-10 off",


by

"alias net-pf-10 ipv6 #alias IPV6 ON",


and now, regenerate the template :

expand-template /etc/modprobe.conf


the file should look like this :


#------------------------------------------------------------
# BE CAREFUL WHEN MODIFYING THIS FILE! It is updated automatically
# by the SME server software. Various aliases are added and/or
# deleted by the template processing of the file and white space
# is removed, but otherwise changes to the file are preserved.
# For more information, see http://www.e-smith.org/custom/ and
# the template fragments in /etc/e-smith/templates/etc/modprobe.conf/.
#
# copyright (C) 2002-2005 Mitel Networks Corporation
#------------------------------------------------------------
alias scsi_hostadapter ata_piix
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0
alias usb-controller ehci-hcd
alias usb-controller1 uhci-hcd
alias block-major-3 off
alias bond0 bonding
alias char-major-43 hisax
alias net-pf-4 off
alias net-pf-47 ip_gre
alias net-pf-10 ipv6 #alias IPV6 ON
alias net-pf-24 pppoe
alias parport_lowlevel parport_pc
alias ppp ppp_generic
alias char-major-108 ppp
alias /dev/ppp ppp
alias tty-ldisc-3 ppp_async
alias tty-ldisc-14 ppp_synctty
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
alias tap0 off
alias tap1 off
alias tap2 off
alias tap3 off
alias tap4 off
alias tap5 off
alias tap6 off
alias tap7 off
alias tap8 off
alias tap9 off
alias tap10 off
alias tap11 off
alias tap12 off
alias tap13 off
alias tap14 off
alias tap15 off
alias char-major-180 usbcore
alias eth0 e1000
alias eth1 8139too
options bond0 miimon=200 mode=active-backup
options hisax protocol=2



With that, ipv6 will be activated on demand.

You don't need to reboot now, as the command
modprobe ipv6


has activated ipv6.

Test ipv6



Now you can test it :

traceroute6 www.6bone.net


Usually, all ip programs are suffixed with a 6 to use the ipv6 protocol.

for the ping command, you need to specify the network interface :

ping6 -I eth0 www.6bone.net


Read the howto which is very understandable.

Windows XP



If you have some windows XP on your network here is how you can activate ipv6 :
(translated from french so the labels can be inacurrates)
go to Start->Configuration Panel->Network connexion,
right click on your ethernet card, click on properties
click on install,
select protocol then add,
select "Microsoft TCP/IP version 6", then ok, then close.

Now, click on Start->Run, type cmd,
in the command prompt, type ipconfig /all
you should see something like this :

Carte Ethernet Connexion au réseau local:

Suffixe DNS propre à la connexion :
Description . . . . . . . . . . . : NVIDIA nForce Networking Controller
Adresse physique . . . . . . . . .: XX-XX-XX-XX-XX-XX
DHCP activé. . . . . . . . . . . : Non
Adresse IP. . . . . . . . . . . . : 10.0.0.1
Masque de sous-réseau . . . . . . : 255.255.255.0
Adresse IP. . . . . . . . . . . . : ab00::abc4:92ab:abcd:18ab%5
Passerelle par défaut . . . . . . : 10.0.0.99
Serveurs DNS . . . . . . . . . . : 10.0.0.99
212.27.53.252
fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1

I didn't had to restart to get the protocal to be installed (amazing ;)

but unfortunately, i didn't succeed in making *6 utilities to work.
It needs a source address, and specify the ipv6 addess of my windows ethernet card didn't work.

I'll dig into that later ;)

1 comment:

mOOcow said...

This is years after the post but its still relevant in 2011!

A late thank-you for writing this great little how-to.