[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

IPv6 vite fait pour Debian


From Frederic Lehobey <Frederic dot Lehobey at free dot fr>
Subject IPv6 vite fait pour Debian
Date Sat, 23 Apr 2005 20:13:47 +0200

Salut,

  Si cela intéresse quelqu'un... Je prends les correctifs.

Librement,
Frédéric
2005-04-23 Version 1.0

                        Ta Debian à poil sur IPv6

  Le but de ce document est de mettre en place un accès direct à IPv6
par le protocole « 6to4 » (RFC 3056, RFC 3068) sur une machine Debian
Sarge connectée à IPv4 par une adresse IPv4 routable fixe. La machine
sera elle-même configurée comme routeur IPv4/IPv6 pour le réseau
derrière eth0 fournissant dhcp pour IPv4 et la configuration
automatique d'adresses IPv6.

  Les aspects sécurité ne sont pas traités dans ce document, nous
déconseillons donc de le suivre aveuglément.

Paquets spécifiques nécessaires sur le (futur) routeur :
 iproute, radvd, dnsmasq.
 J'ai utilisé le noyau Linux 2.6.8 standard de Debian.

Paquets spécifiques nécessaires sur le client :
 aucun. Juste un noyau Debian standard (ou avec support IPv6).

Paquets utiles :
 iputils-ping (ping6), iputils-tracepath (traceroute6 et tracepath6).

Commandes utiles :

  # ip -6 route
  pour savoir l'état du routage en IPv6.

  # ping6 -n www.6bone.net
  pour voir les adresses sous forme numérique (hexadécimal).

  # w3m http://[2001:4f8:4:7:2e0:81ff:fe52:9a6b]/
  pour surfer sur IPv6 (c'est l'adresse de www.netbsd.org à la date
  d'écriture de ce document.)
  
Conversion de l'adresse IPv4 192.0.2.1 (l'adresse IPv4 fixe du
routeur) en hexadécimal :

$ printf "2002:%x%02x:%x%02x::\n" `echo 192.0.2.1 | tr "." " "`

On obtient l'adresse de réseau IPv6 2002:c000:201:: que nous
utiliserons par la suite (ces deux valeurs 192.0.2.1 et
2002:c000:201:: sont à remplacer par celles qui correspondent à votre
adresse IPv4 personnelle).

Ajouts au /etc/network/interfaces du routeur :
-----------------------------------------------------------------
auto sit1
iface sit1 inet6 v4tunnel
        address 2002:c000:201:feed::1
        netmask 64
        endpoint any
        local 192.0.2.1
        pre-up modprobe ipv6
        up ip -6 route add 2000::/3 via ::192.88.99.1 dev sit1
        up sysctl -w net.ipv6.conf.all.forwarding=1
        up sysctl -w net.ipv6.conf.all.autoconf=0
        up sysctl -w net.ipv6.conf.all.accept_ra=0
        up sysctl -w net.ipv6.conf.all.accept_redirects=0
        up sysctl -w net.ipv6.conf.all.router_solicitations=0
        down ip -6 route flush dev sit1

auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0

iface eth0 inet6 static
        address 2002:c000:201::1
        netmask 64
-----------------------------------------------------------------

  Le « modprobe ipv6 » n'est nécessaire que parce que ipv6 est un
module dans les noyaux Linux 2.6.8 standard de la Debian.

  Les appels à « sysctl » peuvent être remplacés par une configuration
du fichier /etc/sysctl.conf (voir « man sysctl »).

  Le sous-réseau :feed: n'est que l'un des 65536 sous-réseaux
disponibles grâce au /48. J'ai gardé le sous-réseau :0: pour eth0.

  L'adresse 192.88.99.1 est l'adresse relais « anycast » définie par
la RFC 3068.

Configuration de /etc/radvd.conf du routeur :
-----------------------------------------------------------------
interface eth0
{
   AdvSendAdvert on;
   prefix 2002:c000:201::1/64
   {
   };
};
-----------------------------------------------------------------

Ne pas oublier de relancer radvd par :

# invoke-rc.d radvd restart

Ajout à la configuration de /etc/dnsmasq.conf du routeur (simplement
décommenté cette ligne) :

-----------------------------------------------------------------
dhcp-range=192.168.0.50,192.168.0.150,12h
-----------------------------------------------------------------

Dans le /etc/network/interfaces des clients derrière l'interface eth0
du routeur :

-----------------------------------------------------------------
auto eth0
iface eth0 inet dhcp
-----------------------------------------------------------------

C'est en général la configuration par défaut : il n'y a donc rien a
faire. La configuration de dhcp et l'utilisation de dnsmasq ne sont
pas nécessaires pour avoir l'IPv6 seul. L'adresse IPv6 sera configurée
automatiquement même pour une adresse IPv4 locale statique.

Détails (à regarder si ça ne marche pas) :
  - je n'ai pas configuré le MTU dans /etc/radvd.conf ;
  - je n'ai pas configuré le ttl pour sit1 ;
  - « man » est votre ami.

Reste à faire :
  - gérer la sécurité des réseaux IPv4 comme IPv6 ;
  - gérer un DNS local pour les adresses IPv6.

Remerciements:
 - John Goerzen (http://changelog.complete.org/node/61)
 - Jeroen Massar (http://lists.debian.org/debian-ipv6/2004/01/msg00013.html)
 - plus généralement, à tous ceux qui publient leur documentation sur
Internet.

Attachment: pgp00153.pgp
Description: PGP signature