• # Pourquoi l'ipv6 free ?

    Posté par  . Évalué à 0.

    Je sais que ça ne répond pas à ta question directement, mais il pourrait être préférable d'utiliser un tunnel de chez Hurricane Electric (tunnel broker, certif/info ipv6) au lieu d'utiliser celle de Free. Si ta freebox est juste en bridge, ça sera même beaucoup plus simple pour toi.

    • [^] # Re: Pourquoi l'ipv6 free ?

      Posté par  . Évalué à 2.

      Ces solutions sont simple oui, mais je cherche spécifiquement à utiliser ce que fournis Free.

  • # Mode d'emploi

    Posté par  . Évalué à 5.

    C'est sympa de demander comment on fait, mais si tu décrivais ton problème plutôt?

    • [^] # Re: Mode d'emploi

      Posté par  . Évalué à 1.

      Je cherche simplement à savoir comment il est possible d'utiliser la connexion ipv6 fournis par free avec un routeur fonctionnant sous openwrt.

      J'ai essayé la solution ebtables mais sans succès, en ajoutant l'interface "wan" au bridge, j'obtiens un message d'erreur (Too many levels of symbolic links).

      La solution 6rd semblait intéressante, mais il faut se passer de la freebox...

      • [^] # Re: Mode d'emploi

        Posté par  . Évalué à 2.

        • mettre la box en bridge
        • activer l'IPv6 pour la box
        • activer l'IPv6 sur l'interface WAN de ton WRT

        apres pour ton LAN, soit tu geres tout en IPv6 et donc il faut activer le dhcpv6 sur le WRT
        soit tu le laisse en ipv4 et il faut activer le tunnel 4to6 sur le wrt

        • [^] # Re: Mode d'emploi

          Posté par  . Évalué à 1.

          Le soucis est que la freebox s'attend à pouvoir contacter les hotes IPv6 du sous réseau /64 fournis par free directement.
          Or en mode bridge, seul le routeur se trouve directement connecté à la freebox, ce qui rend impossible l'accès à l'internet v6 pour les hotes du lan.

          • [^] # Re: Mode d'emploi

            Posté par  . Évalué à 1.

            C'est juste le contraire : il faut router l'IPv4 et bridger l'IPv6.

            Le bridge IPV6 est transparent, la freebox « verra » directement les IPv6 des machines locales.

            • [^] # Re: Mode d'emploi

              Posté par  . Évalué à 1.

              Sur le principe je suis d'accord, mais depuis Backfire je n'arrive plus à monter de bridge entre le lan et le wan (Too many levels of symbolic links).

              • [^] # Re: Mode d'emploi

                Posté par  . Évalué à 2.

                Trouve le lien symbolique qui chie et recrée le en utilisant des chemins absolus, vérifie aussi qu'il reste quelques inodes de libres sur ta partition.

      • [^] # Re: Mode d'emploi

        Posté par  . Évalué à 3.

        Normalement, si c'est comme avant, la solution 6rd devrait marcher même derrière la freebox, ça a l'avantage d'être beaucoup plus propre que la solution ebtables.

        Je crois qu'il faut désactiver l'IPv6 dans ta console de gestion pour pas que la freebox créée le tunnel, puis tu crée le tunnel directement sur ton routeur, ça marchais y'a longtemps, maintenant je sais pas, je suis passé chez Hurricaine Electric pour avoir un reverse DNS.

        • [^] # Re: Mode d'emploi

          Posté par  . Évalué à 1.

          ça ne semble plus fonctionner, quand je désactive l'IPv6 dans la console de free (et après avoir relancé la freebox), un ping sur 2a01:e35:XXX:XXX::1 (qui correspond à la freebox) répond toujours.

          • [^] # Re: Mode d'emploi

            Posté par  (site web personnel) . Évalué à 1.

            Oui mais c'est normal, ce n'est pas ce sur quoi agit l'option activer/désactiver de la console.
            En fait elle active juste le daemon qui envoi les router advertisements sur ton sous-réseau (et qui répond aux router discoveries de tes machines) et qui permettent à tes machines de s'autoconfigurer ;)

  • # Une piste

    Posté par  . Évalué à 2.

    Je ne l'ai pas lu, mais : ici, on en parle
    Sinon, moi je passe par Hurricane Electric (OpenWRT aussi), et ca marche très bien.

  • # Illustration

    Posté par  . Évalué à 2.

    Bonjour,
    J'ai eu à faire la manip avec une WRT54G v2.2, je me suis inspiré des 5 sources suivantes très instructives (la clé est l'utilisation du proxy-ndp-ipv6):
    [1] http://wiki.openwrt.org/doc/howto/ipv6
    [2] http://en.gentoo-wiki.com/wiki/IPV6_And_Freebox
    [3] http://linux-attitude.fr/post/proxy-ndp-ipv6
    [4] http://guidespratiques.traduc.org/vf/Linux+IPv6-HOWTO.html
    [5] manuel ip (man route, indispensable)
    J'ai utilisé backfire rc4 (de base pour brcm47xx) + le paquet firewall en version > 2 (snapshot trunk ou backfire-rc5-testing) qui gère nativement l'ipv6.
    J'ai aussi installé en plus:
    ip (programme route), ip6tables, kmod-ip6tables, kmod-ipv6 et radvd
    Comme dans les tutos [2] et [3] ci-dessus, j'ai séparé mon réseau en deux:
    - les 2 premières adresses pour le tronçon freebox <-> openwrt(wan), le reste pour mon réseau privé.
    - pour les postes du réseau privé, j'ai laissé l'auto configuration agir (les adresses ipv6 globales dépendent donc des adresses MAC des interfaces réseaux),
    - côté firewall, je ne laisse passer que ce qui est nécessaire aux connexions entre postes, et aux connections vers internet, et pour le icmpv6, je ne laisse passer que ce qui est nécessaire à la découverte du voisinage (à adapter en fonction de ses besoins, en particulier si on laisse tourner des services devant être accessibles de l'extérieur par exemple).

    Ca donne pour openwrt (je ne montre que les lignes pertinentes pour ipv6 et je ne détaille pas car tout est dans les liens donnés en intro):
    /etc/config/network:
    config 'alias'
    option 'interface' 'wan'
    option 'proto' 'static'
    option 'ip6addr' 'xxxx:xxxx:xxxx:xxxx::2/126'
    option 'ip6gw' 'xxxx:xxxx:xxxx:xxxx::1'
    config 'interface' 'lan'
    option 'type' 'bridge'
    option 'ifname' 'eth0.0'
    option 'proto' 'static'
    option 'ipaddr' '192.168.1.1'
    option 'netmask' '255.255.255.0'
    option 'ip6addr' 'xxxx:xxxx:xxxx:xxxx:1::1/64'

    /etc/config/firewall:
    config 'rule'
    option 'src' 'wan'
    option 'proto' 'icmp'
    option 'icmp_type' 'router-advertisement'

    option 'target' 'ACCEPT'
    option 'family' 'ipv6'
    config 'rule'
    option 'src' 'wan'
    option 'proto' 'icmp'
    option 'icmp_type' 'neighbour-advertisement'
    option 'target' 'ACCEPT'
    option 'family' 'ipv6'
    config 'rule'
    option 'src' 'wan'
    option 'proto' 'icmp'
    option 'icmp_type' 'neighbour-solicitation'
    option 'target' 'ACCEPT'
    option 'family' 'ipv6'
    config 'rule'
    option 'src' 'lan'
    option 'proto' 'icmp'
    option 'icmp_type' 'router-solicitation'
    option 'target' 'ACCEPT'
    option 'family' 'ipv6'
    config 'rule'
    option 'src' 'lan'
    option 'proto' 'icmp'
    option 'icmp_type' 'neighbour-advertisement'
    option 'target' 'ACCEPT'
    option 'family' 'ipv6'
    config 'rule'
    option 'src' 'lan'
    option 'proto' 'icmp'
    option 'icmp_type' 'neighbour-solicitation'
    option 'target' 'ACCEPT'
    option 'family' 'ipv6'

    /etc/config/sysctl.conf:
    net.ipv6.conf.eth0.disable_ipv6=1
    net.ipv6.conf.all.forwarding=1
    net.ipv6.conf.default.forwarding=1
    net.ipv6.conf.all.proxy_ndp=1
    net.ipv6.conf.default.proxy_ndp=1
    net.bridge.bridge-nf-call-arptables=0
    net.bridge.bridge-nf-call-ip6tables=0
    net.bridge.bridge-nf-call-iptables=0

    /etc/config/radvd:
    config 'interface'
    option 'interface' 'lan'
    option 'AdvSendAdvert' '1'
    option 'AdvManagedFlag' '0'
    option 'AdvOtherConfigFlag' '0'
    option 'ignore' '0'
    config 'prefix'
    option 'interface' 'lan'
    option 'ignore' '0'
    option 'prefix' 'xxxx:xxxx:xxxx:xxxx::/64'
    option 'AdvRouterAddr' '0'
    option 'AdvOnLink' '1'
    option 'AdvAutonomous' '1'
    config 'rdnss'
    option 'interface' 'lan'
    option 'ignore' '1'

    /etc/rc.local:
    if [ -x /usr/sbin/ip ] ; then
    ip link set eth0.1 promisc on
    ip -6 neigh add proxy xxxx:xxxx:xxxx:xxxx:aaaa:aaaa:aaaa:aaaa dev eth0.1
    ip -6 neigh add proxy xxxx:xxxx:xxxx:xxxx:bbbb:bbbb:bbbb:bbbb dev eth0.1
    ip -6 neigh add proxy xxxx:xxxx:xxxx:xxxx::1 dev br-lan
    fi
    exit 0

    avec xxxx:xxxx:xxxx:xxxx::/64 le préfixe ipv6 octroyé par Free,
    aaaa:aaaa:aaaa:aaaa et bbbb:bbbb:bbbb:bbbb la partie d'adresse ipv6 générée à partir des MAC des interfaces réseau du LAN privé (pas besoin des les calculer, si l'ipv6 est activé sur les postes du LAN, l'adresse lien local fournit l'info). wan est associé à l'interface physique eth0.1 (pour radvd j'ai du utiliser l'interface physique).
    La suppression de l'ipv6 sur eth0 (sysctl.conf) est importante: à cause de l'autoconfiguration cette interface recevrait une adresse ipv6 globale, mais c'est wan que l'on veut utiliser. Cela permet bien de n'avoir que wan comme route par défaut pour internet (il y a probablement d'autre façons de procéder, mais ca permet de garder le parallèle avec la configuration ipv4). Pour le firewall, les autres règles utilisant la notion de zone sont les mêmes pour ipv6 et ipv4 (si on utilise une version > 2 du paquet firewall)

    Côté postes clients du réseau local, presque rien à faire (sinon bien laisser s'activer l'ipv6).

    Sous Debian, dans mon /etc/network/interfaces, j'ai juste ajouté:
    up /sbin/ip6tables-restore < /etc/network/ip6tables-start
    avec /etc/network/ip6tables-start:
    *filter
    :INPUT DROP [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT DROP [0:0]
    -A INPUT -i lo -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
    -A INPUT -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT
    -A INPUT -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT
    -A INPUT -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT
    -A INPUT -p tcp -m tcp ! --tcp-option 2 --tcp-flags SYN SYN -j DROP
    -A INPUT -s xxxx:xxxx:xxxx:xxxx::2/126 -i wlan0 -m state --state INVALID,NEW,UNTRACKED -j DROP
    -A INPUT -s xxxx:xxxx:xxxx:xxxx:1::1/128 -i wlan0 -m state --state INVALID,NEW,UNTRACKED -j DROP
    -A INPUT -s xxxx:xxxx:xxxx:xxxx::/64 -i wlan0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
    -A INPUT -i wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A OUTPUT -o lo -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
    -A OUTPUT -d xxxx:xxxx:xxxx:xxxx::2/126 -o wlan0 -m state --state INVALID -j DROP
    -A OUTPUT -d xxxx:xxxx:xxxx:xxxx:1::1/128 -o wlan0 -m state --state INVALID -j DROP
    -A OUTPUT -d xxxx:xxxx:xxxx:xxxx::/64 -o wlan0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
    -A OUTPUT -o wlan0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
    COMMIT

    (ici je n'accepte pas les connexions en provenance du routeur mais c'est un peu superflu)

    C'est une façon de faire, "chez moi ca marche"TM, et j'espère que ca t'aidera.

    • [^] # Re: Illustration

      Posté par  . Évalué à 0.

      Merci, je vais essayer tout ça!

      • [^] # Re: Illustration

        Posté par  . Évalué à 1.

        En me relisant ce matin, je me rends compte que j'ai été très approximatif (en plus d'avoir été suffisamment paresseux pour ne pas faire d'effort de mise en forme) :
        - route ne fait pas partie du paquet ip (ca ne change rien, ca sera utile de faire usage des 2, voir les exemples dans le lien [4]),
        - ce n'est pas pour radvd que j'ai dû utiliser l'interface physique eth0.1 mais pour l'utilisation du proxy npd ipv6 dans /etc/rc.local,
        - je n'ai pas la config. des postes du Lan privé sous la main, mais il me semble que j'ai une ligne "nameserver" avec l'adresse ipv6 du routeur openwrt dans le /etc/resolv.conf.
        - je ne suis plus sûr, mais de mémoire il me semble que le daemon radvd n'est pas démarré par défaut et que j'ai dû le changer (/etc/init.d/radvd enable) pour qu'il soit démarré au lancement.

        Le plus important, je n'ai pas donné les configs complètes (/etc/config/network, etc...) mais juste les lignes qui sont pertinentes pour l'ipv6 à titre d'illustration (a priori, pas besoin de changer la config existante pour ipv4). Les infos vraiment utiles sont dans les liens que j'ai donnés. Je dois avouer que j'ai bien tâtonné lorsque j'ai fait cela, cependant je n'ai jamais perdu la connexion en ipv4 (ce qui a permis de le faire de façon sereine).

        • [^] # Re: Illustration

          Posté par  . Évalué à 0.

          rectification après vérification: je n'ai rien rajouté concernant l'ipv6 dans le resolv.conf. Je ne sais plus si c'est voulu ou non...

          • [^] # Re: Illustration

            Posté par  . Évalué à 2.

            Radvd peut diffuser l'adresse ipv6 de ton serveur DNS (partie rdnss de la config), mais semble l'avoir désactivé.
            De mémoire le serveur DNS par défaut d'openwrt ne répond pas aux requêtes l'ipv6.

            Sinon est-ce que le paquet firewall en version > 2 crée toujours autant de tables et de chaînes en v6 qu'en v4?

            • [^] # Re: Illustration

              Posté par  . Évalué à 1.

              pour le firewall, le fonctionnement est expliqué à :
              http://wiki.openwrt.org/doc/uci/firewall (§ IPV6 notes)
              Tant que l'on ne spécifie pas d'adresse IP, ou que l'on ne spécifie pas que la règle ne s'applique qu'à un seul type (v4 ou v6), les mêmes règles sont appliquées pour l'ipv4 et pour l'ipv6 (pour les règles de la table filter). Donc a priori pratiquement autant de règles sur la table filter en v6 qu'en v4 (cas de la config. par défaut).
              Je n'ai pas accès au routeur pour le moment, je re-vérifierai et corrigerai si ce n'est pas le cas.

              Concernant la résolution DNS, elle semble malgré tout fonctionner (ping6 ipv6.google.com répond correctement), du coup je ne comprends pas quel mécanisme est utilisé (ça passe par l'ipv4 ?).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.