Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sysadmin:ipv6_free [2011/01/03 17:37]
james remplacement mopufle balise
sysadmin:ipv6_free [2013/11/20 17:57] (Version actuelle)
james ajout tags
Ligne 1: Ligne 1:
 +{{tag>​IPv6 Free firewall proxy ndp ip6tables reseau}}
 +
 ====== Utiliser l'IPv6 de Free ====== ====== Utiliser l'IPv6 de Free ======
 <​note>​Pour utiliser ces fonctionalités IPv6 il faut au préalable activer la gestion de l'IPv6 dans votre interface client free (et redémarrer votre freebox)</​note>​ <​note>​Pour utiliser ces fonctionalités IPv6 il faut au préalable activer la gestion de l'IPv6 dans votre interface client free (et redémarrer votre freebox)</​note>​
Ligne 5: Ligne 7:
  
 Pour utiliser ce range, vous avec donc plusieurs choix : Pour utiliser ce range, vous avec donc plusieurs choix :
-  * Laisser votre freebox en mode routeur (qui veut vraiment faire ça ? ;-) ) et la laisser gérer vos IPs v6 : toute la configuration sera automatique,​ par contre vos clients habituellement protégés par une firewall IPv4 se retrouveront donc à poil direct sur internet : il vous faudra mettre un firewall sur chacun de vos postes.+  * Laisser votre freebox en mode routeur (qui veut vraiment faire ça ? ;-) ) et la laisser gérer vos IPs v6 : toute la configuration sera automatique,​ par contre vos clients habituellement protégés par un firewall IPv4 se retrouveront donc à poil direct sur internet : il vous faudra mettre un firewall sur chacun de vos postes.
   * Passer votre freebox en mode modem (elle doit deja y être si vous êtes tombés sur cette page :p) et utiliser l'une des 2 possibilités suivantes :   * Passer votre freebox en mode modem (elle doit deja y être si vous êtes tombés sur cette page :p) et utiliser l'une des 2 possibilités suivantes :
    - Utiliser un bridge entre les interfaces de votre routeur afin de toutes les mettre sur le sous réseau /64 , votre installation devrait ressembler à ca :\\ {{:​sysadmin:​broute-ipv6-hack.png|}}    - Utiliser un bridge entre les interfaces de votre routeur afin de toutes les mettre sur le sous réseau /64 , votre installation devrait ressembler à ca :\\ {{:​sysadmin:​broute-ipv6-hack.png|}}
Ligne 52: Ligne 54:
  
 ===== Solution 2 - Proxy NDP ===== ===== Solution 2 - Proxy NDP =====
-Cette solution offre de bien meilleures possibilités,​ voici donc la solution en détail : 
  
-==== Quelle est donc mon adresse IPv6 ? ====+Cette solution permet de pouvoir re subdiviser votre réseau /64 a votre guise, cependant pour chaque adresse utilisée il faut que votre routeur remplisse le rôle de proxy NDP (voir plus bas). 
 +Cette solution offre de bien meilleures possibilités c'est donc celle qui sera retenue dans la suite de cet article. 
 + 
 +===== Quelle est donc mon adresse IPv6 ? =====
 Free fournit un "​préfixe"​ IPv6 la forme 2a01:​e3W:​WXXY:​YZZ0::/​64 ou lorsque w.x.y.z est votre adresse IPv4 Free,  Free fournit un "​préfixe"​ IPv6 la forme 2a01:​e3W:​WXXY:​YZZ0::/​64 ou lorsque w.x.y.z est votre adresse IPv4 Free, 
   * WW est la conversion hexadécimale de ww   * WW est la conversion hexadécimale de ww
Ligne 81: Ligne 85:
 </​code>​ </​code>​
  
 +===== Mise en oeuvre de la solution 2 utilisant le proxy NDP =====
 ==== Principe ==== ==== Principe ====
-  * Nous allons donc subdiviser notre range /64 disponible en sous réseau pour notre utilisation+  * Nous allons donc subdiviser notre range /64 disponible en sous réseau pour notre utilisation ​(DMZ, postes clients, ...)
   * Le problème est que les machines extérieures n'​auront pas les routes vers ces sous réseaux. Qu'a cela ne tienne, nous allons donc leur "​indiquer"​ (au moins a la freebox) en utilisant un proxy NDP sur votre routeur.   * Le problème est que les machines extérieures n'​auront pas les routes vers ces sous réseaux. Qu'a cela ne tienne, nous allons donc leur "​indiquer"​ (au moins a la freebox) en utilisant un proxy NDP sur votre routeur.
  
 Pour plus de détails sur le NDP je vous conseille [[http://​en.wikipedia.org/​wiki/​Neighbor_Discovery_Protocol|cette lecture en anglais]] Pour plus de détails sur le NDP je vous conseille [[http://​en.wikipedia.org/​wiki/​Neighbor_Discovery_Protocol|cette lecture en anglais]]
  
-==== Mise en oeuvre ==== 
  
-=== Premier sous réseau ===+ 
 +==== desactivation de l'​autoconf ipv6 pour toutes les interfaces ==== 
 +Nous allons désactiver l'​autoconf IPv6 pour toutes les interfaces étant donné que nous allons les configurer manuellement (adapter si vous ne voulez le faire que sur quelques interfaces). Pour cela rajouter dans le fichier /​etc/​sysctl.conf a la fin :<​code>​ 
 +# desactive l'​autoconf des interfaces 
 +net.ipv6.conf.all.autoconf = 0 
 +</​code>​ 
 + 
 +Pour appliquer cette nouvelle configuration :<​code>​ 
 +sysctl -p /​etc/​sysctl.conf 
 +</​code>​ 
 + 
 +==== Premier sous réseau ===
 +<note important>​Attention il ne faut pas utiliser de commentaires sur la même ligne qu'une directive de conf dans le fichier /​etc/​network/​interfaces sinon cela ne fonctionnera pas</​note>​
  
 Le premier sous réseau que nous allons définir est tout petit ;-) Le premier sous réseau que nous allons définir est tout petit ;-)
Ligne 109: Ligne 125:
               address 2a01:​e32:​833f:​e2a::​2               address 2a01:​e32:​833f:​e2a::​2
               netmask 126               netmask 126
-              gateway 2a01:​e32:​833f:​e2a::​1 ​    ​#freeboite ​IPv6+              gateway 2a01:​e32:​833f:​e2a::​1 
 +      ​la gateway est l'​adresse ​IPv6 de la freeboite
 </​code>​ </​code>​
  
 Maintenant que ce premier sous réseau est défini, il est temps d'en créer un autre :-) Maintenant que ce premier sous réseau est défini, il est temps d'en créer un autre :-)
  
-=== Deuxième sous réseau (le vrai) ===+==== Deuxième sous réseau (le vrai) ====
  
 Pour cela on utilise une autre patte du routeur. Cette autre carte réseau est nommée ici "​dmz",​ la encore il faut adapter à vos besoins. Pour cela on utilise une autre patte du routeur. Cette autre carte réseau est nommée ici "​dmz",​ la encore il faut adapter à vos besoins.
Ligne 137: Ligne 154:
 ping6 2a01:​e32:​833f:​e2a::​1</​code>​ ping6 2a01:​e32:​833f:​e2a::​1</​code>​
  
-=== Configuration du proxy NDP ===+==== Configuration du proxy NDP ====
  
 Nous allons activer le forward IPv6 et le proxy NDP sur l'​interface coté ADSL (adapter le nom "​adsl"​ a votre cas). Pour cela rajouter dans le fichier /​etc/​sysctl.conf a la fin :<​code>​ Nous allons activer le forward IPv6 et le proxy NDP sur l'​interface coté ADSL (adapter le nom "​adsl"​ a votre cas). Pour cela rajouter dans le fichier /​etc/​sysctl.conf a la fin :<​code>​
Ligne 150: Ligne 167:
 Il faudra ensuite ajouter manuellement chaque IPv6 que vous allez utiliser sur vos "​petits"​ sous réseau Il faudra ensuite ajouter manuellement chaque IPv6 que vous allez utiliser sur vos "​petits"​ sous réseau
  
-=== Premier serveur en DMZ IPv6  ===+==== Premier serveur en DMZ IPv6  ​====
  
 La configuration IPv6 d'une machine sur ce sous réseau /112 doit donc être effectuée manuellement. Par exemple voila le fichier /​etc/​network/​interfaces d'un serveur (ip n°5 ) qui sera accessible en IPv6 :<​code>​ La configuration IPv6 d'une machine sur ce sous réseau /112 doit donc être effectuée manuellement. Par exemple voila le fichier /​etc/​network/​interfaces d'un serveur (ip n°5 ) qui sera accessible en IPv6 :<​code>​
 +# reseau /112 : adresses des machines en :1, :2, :3, ...
 iface eth0 inet6 static iface eth0 inet6 static
         address ​        ​2a01:​e32:​833f:​e2a:​4::​5         address ​        ​2a01:​e32:​833f:​e2a:​4::​5
-        netmask 112                       # reseau /112 : adresses des machines en :1, :2, :3, ... +        netmask 112 
-        gateway 2a01:​e32:​833f:​e2a:​4::​1 ​   # la fameuse adresse de la patte DMZ de notre routeur+        gateway 2a01:​e32:​833f:​e2a:​4::​1 
 +    # ​l'​adresse de la gateway est cette fameuse adresse de la patte DMZ de notre routeur
 </​code>​ </​code>​
 Sous réserve de firewalls éventuels vous devriez maintenant pouvoir fait un ping sur votre routeur depuis votre serveur :<​code>​ Sous réserve de firewalls éventuels vous devriez maintenant pouvoir fait un ping sur votre routeur depuis votre serveur :<​code>​
Ligne 163: Ligne 182:
 A ce stade vous ne pouvez pas encore contacter le grand internet. Il faut donc déclarer sur le proxy NDP l'IP de ce serveur. A ce stade vous ne pouvez pas encore contacter le grand internet. Il faut donc déclarer sur le proxy NDP l'IP de ce serveur.
  
-=== Proxy NDP ===+==== Proxy NDP ====
  
 Le proxy NDP a été activé, mais pour l'​instant il ne proxyfie pas grand chose. Le proxy NDP a été activé, mais pour l'​instant il ne proxyfie pas grand chose.
Ligne 195: Ligne 214:
         # ...         # ...
 </​code>​ </​code>​
-<​note>​il semblerait que la methode d'​ajout d'​entrées dans le proxy NDP en utilisant cette commande ip -6 neigh add proxy soit deprecated, je vais donc remplacer par la nouvelle commande un peu plus tard</​note>​ 
  
 Et voila : le monde devrait maintenant être accessible a votre serveur qui est donc maintenant dans une vraie DMZ avec une ip publique et tout :-) Et voila : le monde devrait maintenant être accessible a votre serveur qui est donc maintenant dans une vraie DMZ avec une ip publique et tout :-)
Ligne 201: Ligne 219:
 Adieu le forward de port, et bonjour le firewall maintenant nécessaire :-) . Adieu le forward de port, et bonjour le firewall maintenant nécessaire :-) .
  
-=== Et le firewall dans tout ca ? ===+==== Et le firewall dans tout ca ? ====
  
 Contrairement a IPv4, il est nécessaire d'​ouvrir un peu votre firewall sur votre passerelle pour le routage de l'IPv6 lui même. Il faut impérativement laisser passer les requêtes de router/​neighbour solicitation/​advertisement,​ comme par exemple en utilisant les règles ci dessous (même nommage des interfaces que précédemment,​ la encore à vous d'​adapter) :<​code>​ Contrairement a IPv4, il est nécessaire d'​ouvrir un peu votre firewall sur votre passerelle pour le routage de l'IPv6 lui même. Il faut impérativement laisser passer les requêtes de router/​neighbour solicitation/​advertisement,​ comme par exemple en utilisant les règles ci dessous (même nommage des interfaces que précédemment,​ la encore à vous d'​adapter) :<​code>​
  
-/​sbin/​ip6tables -A OUTPUT -o adsl -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT +# note : le "-m hl --hl-eq 255" sert a limiter ces acceptations "aux voisins immediats"​ 
-/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT +/​sbin/​ip6tables -A OUTPUT -o adsl -p icmpv6 --icmpv6-type router-solicitation ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT +/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type router-advertisement ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT+/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type neighbour-solicitation ​-m hl --hl-eq 255 -j ACCEPT 
 +/​sbin/​ip6tables -A INPUT  -i adsl -p icmpv6 --icmpv6-type neighbour-advertisement ​-m hl --hl-eq 255 -j ACCEPT
  
-/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT +/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type router-solicitation ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT +/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type router-advertisement ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT +/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type neighbour-solicitation ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT +/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type neighbour-solicitation ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT +/​sbin/​ip6tables -A INPUT  -i dmz -p icmpv6 --icmpv6-type neighbour-advertisement ​-m hl --hl-eq 255 -j ACCEPT 
-/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT+/​sbin/​ip6tables -A OUTPUT -o dmz -p icmpv6 --icmpv6-type neighbour-advertisement ​-m hl --hl-eq 255 -j ACCEPT
  
 # une fois ces regles etablies, le traffic IPv6 va pouvoir passer s'il est autorisé # une fois ces regles etablies, le traffic IPv6 va pouvoir passer s'il est autorisé
sysadmin/ipv6_free.1294072623.txt.gz · Dernière modification: 2011/01/03 17:37 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0