Mise en place d'un réseau IPv6: Tunnel Broker.

Comment mettre en oeuvre un réseau IPv6 chez soit, sous linux.

Cette première partie vise à configurer un accès internet en IPv6 via un tunnel broker.

Afin de se familiariser avec le nouveau protocole IPv6 en cours de déploiement, voici un petit tutorial pour le mettre en oeuvre sur son réseau domestique.

Topologie du réseau.

topologie

Configuration initiale

Nous partirons du principe que votre serveur Linux est déjà configuré pour un accès internet standard (IPv4), et qu'il ne dispose que d'une interface (eth0).

Pré-requis

  • Une installation Debian 8.
  • Une configuration réseau opérationnel.
  • Shorewall firewall configuration.
  • Mode DMZ activé sur votre box, avec votre serveur linux.
  • Votre box doit répondre aux ping sur son IP publique.

Configuration du firewall avec Shorewall

Shorewall est un script de configuration automatique du firewall Linux. La configuration est basé sur un déploiement du type "one-arm", soit une seule interface. Dans cette configuration il existe qu'une zone: Internet IPv4.

Configuration des zones (/etc/shorewall/zones):


#ZONE	TYPE	OPTIONS		IN OPTIONS		OUT OPTIONS
fw	firewall
net	ipv4

Configuration des interfaces (/etc/shorewall/interfaces):


#ZONE	INTERFACE	BROADCAST	OPTIONS
net	eth0		detect

Configuration de la politique globale (/etc/shorewall/policy):


#SOURCE		DEST		POLICY	LOG LEVEL	LIMIT:BURST
$FW		all		ACCEPT
all		all		DROP		

Configuration des règles d'accès (/etc/shorewall/rules):


#ACTION 	SOURCE	DEST	PROTO	DEST PORT	SOURCE PORT(S)
?SECTION NEW
ACCEPT	all		$FW		tcp	22
ACCEPT	net		$FW		icmp	8

Hurricane electric IPv6 tunnel brocker

La première étape de ce tutoriel, consiste a établir une connectivité internet en IPv6. Pour cela nous allons passer par un fournisseur de tunnel IPv6: Hurricane Electric. Ce service permet un accès au réseau IPv6, au travers d'un tunnel IPv4. C'est nécessaire si votre fournisseur d'accès internet ne vous offre pas une connectivié IPv6 (Bouygues !!).

Commencez donc par créer votre compte sur Hurricane Electric

Après vous être enregistré, procédez à la création d'un tunnel standard: "Create Regular Tunnel".

Le champs "IPv4 Endpoint" correspond à l'IP publique de votre box.
Sélectionnez également un serveur proche de votre lieu géographique.

Après validation vous obtenez les détails de configuration du tunnel.

Nous allons maintenant pouvoir configurer le tunnel sur notre serveur avec les informations ci-dessus. 2 étapes pour cela:

  • Configuration des interfaces réseau.
  • Autorisation du protocole 6in4 via Shorewall.

Configuration de l'interface tunnel 6in4.

Grâce au travail de l'équipe Debian, c'est relativement simple. Cela passe par le script de configuration réseau standard.

Utilisez pour cela les informations IP de la partie "IPv6 Tunnel Endpoints".
Ajouter les lignes suivantes dans le fichier de configuration des interfaces réseau "/etc/network/interfaces":


auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:db8:1f13:7c8::2
        netmask 64
        endpoint 216.66.84.42
        local 192.168.1.200
        ttl 255
        gateway 2001:db8:1f13:7c8::1

L'adresse "local" doit être l'IP privée de votre serveur, et non votre IP publique.

Configuration de l'interface eth0.

Utilisez les informations de la partie "Routed IPv6 Prefix".
De même editez le fichier de configuration des interfaces réseau "/etc/network/interfaces" et ajoutez:


iface eth0 inet6 static
	address 2001:db8:1f13:7c9::1
	netmask 64

Autorisation du protocole 6in4.

Notre configuration firewall n'autorise pas pour le moment le trafic du type 6in4 (protocole IP41). Nous allons donc l'autoriser grace à Shorewall: "/etc/shorewall/tunnels"


#TYPE    ZONE    GATEWAY        GATEWAY
#                               ZONE
6to4     net

Last, but not least.

On redémarre Shorewall pour appliquer les nouvelles règles:


myhost:~# shorewall restart

On redémarre les interfaces réseaux (attention, si vous en connecté en ssh, vous risquez la déconnexion):


myhost:~# ifup he-ipv6
myhost:~# ifdown eth0 && ifup eth0

On vérifie:


myhost:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:08:02:e8:50:19  
          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:db8:1f13:7c9::1/64 Scope:Global
          inet6 addr: fe80::208:2ff:fee8:5019/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:553120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:553185 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:422682596 (403.1 MiB)  TX bytes:402275290 (383.6 MiB)
          Interrupt:11 

he-ipv6   Link encap:IPv6-in-IPv4  
          inet6 addr: fe80::c0a8:1c8/64 Scope:Link
          inet6 addr: 2001:db8:1f13:7c8::2/64 Scope:Global
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:1084077 errors:0 dropped:0 overruns:0 frame:0
          TX packets:675577 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1341129311 (1.2 GiB)  TX bytes:73968439 (70.5 MiB)


myhost:~# ip -6 route show
2001:db8:1f13:7c8::1 dev he-ipv6  metric 1024 
2001:db8:1f13:7c8::/64 dev he-ipv6  proto kernel  metric 256 
2001:db8:1f13:7c9::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev he-ipv6  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2001:db8:1f13:7c8::1 dev he-ipv6  metric 1024 

On test ?


myhost:~# ping6 -c2 www.google.com
PING www.google.com(par21s04-in-x04.1e100.net) 56 data bytes
64 bytes from par21s04-in-x04.1e100.net: icmp_seq=1 ttl=52 time=40.1 ms
64 bytes from par21s04-in-x04.1e100.net: icmp_seq=2 ttl=52 time=37.0 ms

--- www.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 37.078/38.619/40.160/1.541 ms

Hurra, ça marche !

Que reste t'il ?

Notre serveur dispose d'un firewall pour l'IPv4, mais pas encore pour l'IPv6.

Nous allons donc installer et configurer Shorewall6, qui fait la meme chose que Shorewall mais pour l'IPv6.


myhost:~# aptitude install shorewall6

Configuration de Shorewall6

Zones


#ZONE	TYPE	OPTIONS		IN		OUT
#				OPTIONS		OPTIONS
fw	firewall
net	ipv6
lan	ipv6

Interfaces


#ZONE	INTERFACE	OPTIONS
net     he-ipv6
lan	eth0

Policy


#SOURCE		DEST		POLICY	LOG LEVEL	LIMIT:BURST
$FW		all		ACCEPT
# The FOLLOWING POLICY MUST BE LAST
all		all		DROP	

Rules


#ACTION		SOURCE		DEST		PROTO	DEST PORT
?SECTION NEW

ACCEPT	lan:2001:db8:1f13:7c9::/64	$FW	tcp	22

Et voila!

Dans la deuxième partie, nous verrons comment mettre en place le service d'autoconfiguration d'adresse pour les clients, ainsi que les technologies de transition IPv6.

Écrire un commentaire

Quelle est le cinquième caractère du mot u14p9a ?  :