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 [2010/11/23 16:19]
james ajout install sipcalc + mention privee adresse DMZ
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>​
  
-Malheureusement Free fournit un range IPv6 qui est en /64, soit le plus petit sous réseau qui marche en "autoconfiguration" avec IPv6.+Malheureusement Free fournit un range IPv6 qui est en /64, soit le plus petit sous réseau qui marche en "auto-configuration" avec IPv6.
  
 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 24: Ligne 27:
     * nécessite une légère manipulation pour toute nouvelle machine sur laquelle vous voulez mettre une IPv6     * nécessite une légère manipulation pour toute nouvelle machine sur laquelle vous voulez mettre une IPv6
     * l'​auto-configuration des clients ne marche pas sans un petit hack (peut-être décrit plus tard si je suis inspiré)     * l'​auto-configuration des clients ne marche pas sans un petit hack (peut-être décrit plus tard si je suis inspiré)
-    * nécessite un kernel "​récent"​ : 2.6.19+    * nécessite un kernel "​récent"​ : >= 2.6.19 ​(à peu près tout le monde doit en avoir un)
  
  
Ligne 51: 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 80: 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.+  * 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 108: 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 136: 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 149: 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 162: 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 199: 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 ​le protocole ​de "router advertisement".+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>​
  
-TODO exemple de firewall IPv6+# note le "-m hl --hl-eq 255" sert a limiter ces acceptations "aux voisins immediats"​ 
 +/​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 router-advertisement -m hl --hl-eq 255 -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 -m hl --hl-eq 255 -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 -m hl --hl-eq 255 -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 -m hl --hl-eq 255 -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é
 +# par exemple pour ouvrir massivement l'​acces SSH depuis l'​extérieur vers votre DMZ :
 +# adapter le sous réseau de votre DMZ IPv6
 +DMZ_NETv6="​2a01:​e32:​833f:​e2a:​4::/​112"​
 +/​sbin/​ip6tables -A FORWARD -i adsl -o dmz -p tcp -d $DMZ_NETv6 --sport 1024: --dport ssh -m state --state NEW,​ESTABLISHED -j ACCEPT
 +/​sbin/​ip6tables -A FORWARD -i dmz -o adsl -p tcp -s $DMZ_NETv6 --sport ssh --dport 1024: -m state --state ESTABLISHED -j ACCEPT
 +
 +</​code>​
  
 ===== Références ===== ===== Références =====
sysadmin/ipv6_free.1290525583.txt.gz · Dernière modification: 2010/11/23 16:19 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0