69 lines
3.6 KiB
Markdown
69 lines
3.6 KiB
Markdown
+++
|
||
|
||
title = "OpenWRT et dhcp6c : la méthode Barrier Breaker"
|
||
date = 2015-02-02
|
||
aliases = [ "post/2015/02/02/OpenWRT-et-dhcp6c-:-la-méthode-Barrier-Breaker"]
|
||
[taxonomies]
|
||
tags = [ "système", "rézo" ]
|
||
+++
|
||
|
||
Parce que les tutos obsolètes, ça commence à bien faire !
|
||
|
||
<!-- more -->
|
||
|
||
Ayant eu récemment de très nombreux problèmes avec *pfSense*, j'ai finalement mis le truc au placard et l'ai remplacé par un truc d'homme avec des poils : *OpenWRT*.
|
||
|
||
# pfSense, atheros et instabilité
|
||
|
||
Depuis à peu près toutes les versions de pfSense, avec à peu près toutes les cartes *atheros*, j'ai toujours eu des emmerdes. La principale étant le message d'erreur suivant, répété en boucle dans les logs, rendant le Wi-Fi inutilisable :
|
||
|
||
```
|
||
kernel: ath0: stuck beacon; resetting (bmiss count 4)
|
||
```
|
||
|
||
J'ai eu beau essayé toutes les astuces du monde, sacrifié une chèvre au clair de lune dans un cercle de pierre avec trois nains unijambistes enroulés dans du jambon, rien à faire. De ce que j'ai compris, le problème provient de l'intégration du driver *ath* dans FreeBSD. Sur les séries 2.1.x de *pfSense*, impossible de faire tourner correctement une carte *atheros* « ancienne génération » (carte mini-PCI, compatible avec les Alix2).
|
||
|
||
Sur les PC-Engines APU, impossible de faire tourner les cartes mini-PCI Express avec des *atheros* plus récents.
|
||
|
||
Le souci, c'est qu'à un moment, j'ai quand même besoin de le faire marcher proprement môa, le Wi-Fi. En prime, les version Linux de *hostapd* permettent de faire tourner plusieurs SSID sur la même carte, ce que ne permettent pas, à ma connaissance, les versions FreeBSD.
|
||
|
||
Donc, fuck that et hop ! OpenWRT.
|
||
|
||
*Ami internaute, si au hasard d'un moteur de recherches quelconque tu tombes sur cet article en essayant de résoudre ton problème avec pfSense, tu es bien baisé.*
|
||
|
||
*Mais comme je suis d'un naturel généreux, je te donne une petite astuce : force le canal de la carte sur un nombre assez élevé. Ça suffit en général pour réduire considérablement les problèmes avec les cartes Atheros, sans toutefois les supprimer complètement.*
|
||
|
||
# Bon alors, tu l'envoies la pastille ?
|
||
|
||
Dans Barrier Breaker, nul besoin de faire des choses compliqué [comme ça](http://doc.rhizome-fai.net/doku.php?id=technique:materiel:ap_interieurs:openwrt_ipv6). C'est pas que ça marche pas, mais ça fait rajouter plein de paquets alors que nativement, OpenWRT est maintenant capable de gérer tout ça.
|
||
|
||
Comment ?
|
||
|
||
On commence par créer une interface virtuelle *wan6* dans */etc/config/network* :
|
||
|
||
```
|
||
config interface wan6
|
||
option ifname @wan
|
||
option proto dhcpv6
|
||
```
|
||
|
||
C'est une simple référence à l'interface existante, permettant de déclencher le *dhcp6c* sur la bonne interface.
|
||
|
||
Ensuite, sur chaque interface LAN, il suffit d'ajouter la taille du préfixe IPv6 (donc en général 64) ainsi que le sous-réseau concerné (pour un /56, indiquez l'ensemble du tuple entre le /48 et le /64). Par exemple :
|
||
|
||
```
|
||
config interface 'lan'
|
||
option ifname 'eth1'
|
||
option proto 'static'
|
||
option ipaddr '10.0.0.1'
|
||
option netmask '255.255.255.0'
|
||
option ip6assign '64'
|
||
option ip6hint '5e00'
|
||
```
|
||
|
||
Cette interface distribuera donc des IPv6 en : XXXX:XXXX:XXXX:5e00::/64, le préfixe étant récupéré via *dhcp6c*.
|
||
|
||
Je ne sais pas si ça pourrait fonctionner en indiquant moins d'information (toujours pareil en /56, pourrait ton simplement indiquer les bits entre /56 et /64 ?).
|
||
|
||
En attendant, cette méthode fonctionne parfaitement et permet de simplifier considérablement la configuration et les mises à jour d'OpenWRT !
|