Files
BaC/content/2015-02-02_OpenWRT-et-dhcp6c-:-la-méthode-Barrier-Breaker.md
2025-02-27 12:52:48 +01:00

69 lines
3.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
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 !