Le blog à Fabroce

Aller au contenu | Aller au menu | Aller à la recherche

samedi 9 juillet 2011

Free ipv6 / ebtables / Openwrt

Free propose à ses abonnés dégroupés un préfixe ipv6 /64 depuis la fin 2007. En l'activant dans la console de gestion, la freebox permet l'auto-configuration des interfaces réseau en ipv6 via NDP. Mais pour cela, la freebox cherche à atteindre directement toutes les interfaces réseaux, or avec un routeur supporté par OpenWRT, la freebox est en mode bridge pour l'ipv4...

Pour contourner cet obstacle, il va falloir ne rien toucher pour l'ipv4, mais bridger l'interface wan vers le lan pour l'ipv6.

  1. Compilation d'OpenWRT

    Suivre les instructions du wiki d'OpenWRT pour compiler le trunk (version utilisée : r25461).
    Il faut rajouter le support d'ebtables (non disponible dans la ditribution officielle de BackFire), le support d'IPv6 par défaut dans les paquets et ip6tables.
    Bien vérifier que le binaire généré correspond bien au modèle de routeur.
  2. Flashage du routeur

    Flasher un routeur est une opération dangeureuse qui peut endommager le matériel de façon irréversible!
    Pour un premier flashage, il vaut mieux installer un firmware officiel et activer le boot_wait pour avoir une chance de revenir en arrière après le flashage.

  3. Configurer le bridge IPv6

    Récupérer le préfixe ipv6 dans l'interface de gestion de free (ne pas oublier d'activer l'IPv6 sur la freebox).
    Via SSH sur le routeur flashé :
    • Désactiver les règles IPv6 par défaut (pris en compte au prochain démarrage du pare feu)
    • uci set firewall.@forwarding[-1].family=ipv4

      uci set firewall.@zone[0].family=ipv4

      uci set firewall.@zone[1].family=ipv4

      uci commit firewall

    • Activer la possiblité de filtrer le traffic ipv6 d'un bridge avec ip6tables (désactivé par défaut) (pris en compte au prochain démarrage d'OpenWRT)
    • sysctl -w net.bridge.bridge-nf-call-ip6tables=1

    • Créer le bridge et mettre en place un firewall minimaliste (remplacer $PREFIX par votre préfixe IPv6)
    • # ajout de l'interface WAN sur le bridge du réseau local

      brctl addif br-lan eth0.1

      # Politique par défaut du routage dans le bridge : ACCEPT

      ebtables -t broute -P BROUTING ACCEPT

      # On vide la table ebtables -t broute -F BROUTING

      # On n'accepte que l'IPv6, l'IPv4 passe toujours via le routage/NAT classique

      ebtables -t broute -A BROUTING -i eth0.1 -p ! ipv6 -j DROP

      # Politique IPv6 : on n'accepte rien

      ip6tables -P INPUT DROP ip6tables -P OUTPUT DROP ip6tables -P FORWARD DROP

      # On vide les tables

      ip6tables -F INPUT

      ip6tables -F OUTPUT

      ip6tables -F FORWARD

      # ICMPv6 accepté (ping, NDP, ...) dans les 2 sens

      ip6tables -I FORWARD -p icmpv6 -j ACCEPT

      # Traffic déjà établi ou en relation avec une connexion déjà acceptée seulement

      ip6tables -I FORWARD -i br-lan -m state --state ESTABLISHED,RELATED -j ACCEPT

      # Traffic en provenance du préfixe IPv6 de Free accepté

      ip6tables -A FORWARD -i br-lan -p tcp -s $PREFIX -j ACCEPT

    Je ne garantie pas que les règles de pare feu suffisent à la sécurité du réseau local!

    Normallement, les hôtes du réseau local devraient recevoir automatiquement le préfixe IPv6 de la freebox et le ping6 devrait fonctionner.

    ping6 www.free.fr
    PING www.free.fr(www.free.fr) 56 data bytes
    64 bytes from www.free.fr: icmp_seq=1 ttl=60 time=32.7 ms
    64 bytes from www.free.fr: icmp_seq=2 ttl=60 time=32.3 ms
    64 bytes from www.free.fr: icmp_seq=3 ttl=60 time=33.1 ms
    64 bytes from www.free.fr: icmp_seq=4 ttl=60 time=32.7 ms
    ^C
    --- www.free.fr ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 32.389/32.765/33.154/0.270 ms

    Si tout fonctionne correctement, il suffit d'ajouter ces dernières règles (à partir du brctl) dans le fichier /etc/firewall.user pour qu'elles soient pris en compte à chaque démarrage du pare feu.

dimanche 5 novembre 2006

Free va bloquer le port TCP 25 pour tous ses abonnés par défaut

Vu sur le Journal du Freenaute, free va bloquer le port TCP 25 (smtp) par défaut pour ses abonnés pour lutter contre le spam.

Lire la suite...