Auteur Sujet: Cherche routeur pour dual-homing dual-stack sur des liens fibre  (Lu 3342 fois)

0 Membres et 1 Invité sur ce sujet

Tchyo

  • Abonné Orange Fibre
  • *
  • Messages: 5
  • Bourg-la-Reine (92)
Je cherche un routeur capable de faire du dual-homing avec des connexions fibre grand public pour un réseau de PME. Le cas d'utilisation du dual-homing serait plus pour du failover que du load-balancing. Il faudrait qu'il fonctionne en dual-stack IPv4/IPv6, ait un firewall relativement souple et supporte les VLAN. Si possible, être capable de faire des jolies choses avec des VPN IPsec, aussi bien des liens site à site que d'accueillir des clients type roadwarrior, mais au pire c'est pas indispensable, je peux déporter ça sur une VM locale. Dans l'idéal, du matériel rackable et une CLI digne de ce nom seraient appréciés, mais c'est pas indispensable non plus, loin de là.

Niveau budget, je vise du matériel dans les 200-400€, au dessus du routeur SOHO de base, mais pas non plus du routeur plaqué or toutes options. J'ai déjà repéré quelques possibilités sur ce segment, mais j'aimerais savoir si certains ont déjà des expériences avec ces matériels ou avec quelque chose de similaire, s'ils valent quelque chose, et si vous pensez que ça conviendrait au besoin.

http://www.linksys.com/fr/p/P-LRT224/
https://www.ubnt.com/edgemax/edgerouter/
http://www.cisco.com/c/en/us/products/routers/rv325-dual-gigabit-wan-vpn-router/index.html

Et tant qu'à faire, est-ce que certains ont une expérience avec du dual-homing en IPv6 sur ce type de connexions grand public ? J'ai lu un sujet plus bas à ce propos avec le Linksys LRT224 (https://lafibre.info/routeur/load-balancing-ipv6-avec-routeur-dual-wan-linksys-lrt224/ ), j'en ai retiré que NPTv6 était l'idéal et après renseignement ça semble intéressant, mais sur quel type de matériel est-ce que j'ai une chance de trouver ça implèmenté et utilisable, concrètement ? Est-ce que je risque de sortir de ma gamme de prix si je commence à courir après ce type de fonctionnalités ? Et quelles sont les solutions alternatives, propager les deux préfixes sur le LAN et laisser les terminaux décider de leur destin par eux-même ?

Niveau opérateur, une ligne Orange Fibre Pro est en cours de commande. Le failover attendra un peu, le fibrage est encore très récent (quelques semaines), SFR et Free m'ont tous les deux répondu qu'il existait un délai d'exclusivité avant qu'ils puissent également faire des propositions.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #1 le: 12 juillet 2016 à 17:45:15 »
le point décisif c'est effectivement le support de NPTv6.

Il y a aussi la performance et les autres fonctions (vpn, rackable, etc). C'est demandé beaucoup pour un seul produit dans cette gamme de prix...

L'edgemax permet pas mal de choses et en plus on peut attaquer directement le Linux qui est 'en dessous' si on veut faire des choses non prévues de base (notamment le NPTv6 qui est réalisable avec iptables). Mais on risque d'avoir un probleme de performance a un moment car l’accélération matérielle risque de ne plus marcher. Avec du Cisco on est enfermé dans ce que Cisco décide de supporter.

Apres si y'a un serveur assez puissant on peut aussi faire ca avec un routeur virtuel (une simple vm Linux).

Les solutions alternatives au NPTv6 y'en a pas vraiment sur des prestations grand public (en pro c'est autre chose). Au pire,en fail-over only, on peut avoir un système qui change les IPv6 du lan suivant la liason WAN active ... ca n'est pas forcement mauvais.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #2 le: 12 juillet 2016 à 18:02:44 »
ps:

a mon a vis: j'eviterai le NPTv6. L'advantage d'IPv6 est la fin du NAT donc évitons d'en remettre...

On peut tres bien avoir plusieurs avoir plusieurs IPv6 par machine ca n'est pas un probleme du tout.

IPv6 ULA fixes pour le LAN (ou les LAN en multi site / vpn) voir IPv6 "link-local" directement sur un seul LAN.
IPv6 globales qui changent pour le trafic Internet sortant.
Souvent on a donc 4 ou plus IPv6 par machine.

En fait tout se passe dans la config DNS et ce que permet le ou les serveurs DNS.

Faut juste pas raisonner comme en IPv4 ou "une IP par machine" est le plus fréquent.

Tchyo

  • Abonné Orange Fibre
  • *
  • Messages: 5
  • Bourg-la-Reine (92)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #3 le: 13 juillet 2016 à 16:40:17 »
Merci pour ton retour en tout cas :)

Je n'ai pas vraiment d'expérience avec Cisco, est-ce que leurs routeurs Small Business ont le même système de licences que sur leurs gros matériels professionnels, où il faudra repasser à la caisse pour chaque composant logiciel à activer ? Pour le VPN et tout j'ai bien conscience que j'en demande potentiellement beaucoup et j'ai bien dit que c'est pour un cas idéal. Tout ce qui tient du confort peut passer à la trappe, tout ce qui serait déportable plus loin sur le LAN peut tout à fait l'être. Et si c'est trop demander à ce niveau, quelle fourchette de prix et modèles seraient plus adaptés à ce que j'ai listé ?

Pour la performance, le réseau fonctionne déjà relativement bien avec les métriques actuelles (85mbps down, 50mbps en up) sur un système D un peu tiré par les cheveux, un pont Wifi avec le voisin d'en face qui a eu la chance d'être fibré bien avant vu que son immeuble était plus gros (on ne rigole pas svp :o) ). Ce qui est recherché à présent, c'est surtout dégager ce pont pour une meilleur stabilité avec une connexion qui ne tombera pas en fonction de la météo et de l'âge du capitaine, tout en fournissant une connectique de base pour le LAN de l'entreprise avec IP fixe pour les quelques services hébergés en interne qui doivent être accessibles de l'extérieur. La ligne déjà commandée chez Orange devrait chiffrer à 500/200 en down/up. Quand au type d'usage susceptibles de soliciter la bande passante, ça sera du gros paquet type copie de backup offsites. Est-ce que les performances d'un modèle comme le edgemax sont vraiment problématiques dans ce cas de figure ?

Pour IPv6, si je suis bien, l'idée que tu avances serait plutôt de se passer de NPT, d'annoncer trois préfixes sur le LAN, un préfixe ULA pour avoir des adresses stables en local et les préfixes globaux respectifs de chaque opérateur ? Et dans ce système là, le failover aurait lieu naturellement avec les terminaux qui se rendront compte par eux-même de la perte du lien au delà du routeur ? Dans un fonctionnement normal avec les deux liens up, est-ce que ça ne risque pas de donner un routage un peu chaotique avec deux routes égales qui seront utilisées au pifomètre au bon vouloir des terminaux, selon les spécificités de leur pile IP ?

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #4 le: 13 juillet 2016 à 18:15:45 »
Dans un fonctionnement normal avec les deux liens up, est-ce que ça ne risque pas de donner un routage un peu chaotique avec deux routes égales qui seront utilisées au pifomètre au bon vouloir des terminaux, selon les spécificités de leur pile IP ?

l'idée c'était du fail-over, pas du load-balancing.

un seul prefix global est actif (annoncé) a un moment donné. S'il tombe, l'autre s'active (c'est a la machine faisant le radvd et/ou dhcpv6 de prendre cela en charge).

Pour du load-balancing , utiliser les 2 connexions en meme temps,c'est plus compliqué et le comportement est propre a chaque machine (probleme du "Source Address Selection"). Une bonne explication: https://tools.ietf.org/html/rfc7157.
On peut aussi jouer avec la "policy table" mais ca complique les choses (voir https://tools.ietf.org/html/rfc6724#section-10.5 )


Tchyo

  • Abonné Orange Fibre
  • *
  • Messages: 5
  • Bourg-la-Reine (92)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #5 le: 18 juillet 2016 à 15:54:21 »
Oui l'idée recherchée est bien du fail-over, mon raisonnement venait du fait que je n'ai aucune idée si le matériel envisagé est assez futé pour n'annoncer qu'un seul préfixe via radvd/dhcpv6 et changer de préfixe annoncé pour le backup à la coupure d'un lien.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #6 le: 18 juillet 2016 à 19:04:18 »
Oui l'idée recherchée est bien du fail-over, mon raisonnement venait du fait que je n'ai aucune idée si le matériel envisagé est assez futé pour n'annoncer qu'un seul préfixe via radvd/dhcpv6 et changer de préfixe annoncé pour le backup à la coupure d'un lien.

Si le matériel en question utilise du Linux "accessible" en dessous c'est faisable avec des scripts shell.

Si c'est un truc propriétaire genre IOS (Cisco) ou RouterOS (Mikrotik) il faut s'assurer avant que ce soit faisable et sous quelles conditions. J'en doute.

raf

  • Expert France-IX
  • Expert
  • *
  • Messages: 645
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #7 le: 24 juillet 2016 à 09:32:51 »
Et tant qu'à faire, est-ce que certains ont une expérience avec du dual-homing en IPv6 sur ce type de connexions grand public ?

Oui. Mais de la facon propre, sans NPT (NAT + IPv6 = peste noire).
Bref, le routeur que j'utilise (machine Linux) est configure d'annoncer (via RADVD) cote LAN un /64 pour chaque connexion (une Free, une OVH). Les machines derriere prennent des adresses dans les deux /64 les choisissent l'adresse sortante selon RFC6724. Le routeur lui utilise PBR pour s'assurer que le traffic sort via le lien de l'operateur qui a attribue le bloc de l'IP source.

Ce que je n'ai pas encore fait (et vu le temps dispo, ca risque pas d'arriver bientot), c'est de verifier l'etat des upstreams et retirer les annonces sur le LAN en cas de defaillance d'un des liens. Ca sera interessant aussi d'integrer tout ca de facon automatique avec DHCP-PD (obligatoire chez OVH, meme si c'est statique, inutile chez Free), histoire de ne pas avoir a configurer les /64 LAN a la main.

Tchyo

  • Abonné Orange Fibre
  • *
  • Messages: 5
  • Bourg-la-Reine (92)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #8 le: 09 janvier 2017 à 12:15:19 »
Pour ceux que ça intéresse, j'ai fini par opter pour une EdgeRouter à 8 ports, et voici la configuration une fois fini, avec une connexion Orange FTTH PPPoE (sans livebox, juste le terminal optique) en primaire et une connexion Free ADSL en DHCP (derrière Freebox bridgée) en secondaire.

Voici une configuration quasi-complète (juste coupé un peu les redirections de port pour rester dans les 2000) pour le firmware 1.9 avec quelques redirections de port (à l'ancienne, pour une raison X ou Y j'ai pas réussi à faire fonctionner l'assistant pour ça).

    firewall {
        all-ping enable
        broadcast-ping disable
        ipv6-receive-redirects disable
        ipv6-src-route disable
        ip-src-route disable
        log-martians enable
        name WAN_IN {
            default-action drop
            description "Packets from Internet to LAN"
            enable-default-log
            rule 10 {
                action accept
                description "Allow Established Sessions"
                log disable
                protocol all
                state {
                    established enable
                    invalid disable
                    new disable
                    related enable
                }
            }
            rule 20 {
                action drop
                description "Drop invalid states"
                log disable
                protocol all
                state {
                    established disable
                    invalid enable
                    new disable
                    related disable
                }
            }
            rule 30 {
                action accept
                description "ICMP passthrough"
                log disable
                protocol icmp
            }
            rule 40 {
                action accept
                description "ESP pour tunnel IPsec"
                destination {
                    address 10.10.10.19
                }
                log disable
                protocol esp
            }
            [...]
        }
        name WAN_LOCAL {
            default-action drop
            description "Packets from Internet to the Router"
            enable-default-log
            rule 1 {
                action accept
                description "Allow established sessions to the router"
                log disable
                protocol all
                state {
                    established enable
                    invalid disable
                    new disable
                    related enable
                }
            }
            rule 2 {
                action drop
                description "Drop invalid state"
                log disable
                protocol all
                state {
                    established disable
                    invalid enable
                    new disable
                    related disable
                }
            }
            rule 3 {
                action accept
                description "ICMP passthrough"
                log disable
                protocol icmp
            }
            rule 4 {
                action accept
                description "SSH local"
                destination {
                    port 22
                }
                log disable
                protocol tcp
            }
        }
        options {
            mss-clamp {
                interface-type pppoe
                interface-type pptp
                interface-type tun
                mss 1452
            }
        }
        receive-redirects disable
        send-redirects enable
        source-validation disable
        syn-cookies enable
    }
    interfaces {
        ethernet eth0 {
            address 10.10.10.10/16
            description "eth0 LAN company-domain"
            duplex auto
            firewall {
                out {
                    name WAN_IN
                }
            }
            speed auto
        }
        ethernet eth1 {
            description "eth1 Fibre Orange ONT"
            duplex auto
            speed auto
            vif 835 {
                address dhcp
                description "VLAN Internet"
                pppoe 0 {
                    default-route auto
                    description "FTTH Orange"
                    firewall {
                        local {
                            name WAN_LOCAL
                        }
                    }
                    mtu 1492
                    name-server auto
                    password ***************
                    user-id fti/************
                }
            }
        }
        ethernet eth2 {
            address dhcp
            description "eth2 Free ADSL"
            duplex auto
            firewall {
                local {
                    name WAN_LOCAL
                }
            }
            speed auto
        }
        ethernet eth3 {
            disable
            duplex auto
            speed auto
        }
        ethernet eth4 {
            disable
            duplex auto
            speed auto
        }
        ethernet eth5 {
            disable
            duplex auto
            speed auto
        }
        ethernet eth6 {
            disable
            duplex auto
            speed auto
        }
        ethernet eth7 {
            disable
            duplex auto
            speed auto
        }
        loopback lo {
        }
    }
    load-balance {
        group WAN_FAILOVER {
            interface eth2 {
                failover-only
            }
            interface pppoe0 {
            }
            lb-local disable
        }
    }
    protocols {
        static {
            route 0.0.0.0/0 {
                next-hop secondaryroute {
                    distance 10
                }
                next-hop primaryroute {
                    distance 1
                }
            }
        }
    }
    service {
        dhcp-server {
            disabled false
            hostfile-update disable
            shared-network-name DHCP_LAN {
                authoritative disable
                subnet 10.10.0.0/16 {
                    default-router 10.10.10.10
                    dns-server 10.10.10.4
                    dns-server 10.10.10.5
                    domain-name company-domain
                    lease 86400
                    start 10.10.9.100 {
                        stop 10.10.9.200
                    }
                    unifi-controller 10.10.10.83
                }
            }
            use-dnsmasq disable
        }
        dns {
        }
        gui {
            http-port 80
            https-port 443
            older-ciphers disable
        }
        nat {
            rule 1 {
                description "ESP IPsec vers vpnipsecsrv"
                destination {
                    address pubip1
                }
                inbound-interface pppoe0
                inside-address {
                    address 10.10.10.19
                }
                log disable
                protocol esp
                type destination
            }
            rule 2 {
                description "AH IPsec vers vpnipsecsrv"
                destination {
                    address pubip1
                }
                inbound-interface pppoe0
                inside-address {
                    address 10.10.10.19
                }
                log disable
                protocol ah
                type destination
            }
            rule 3 {
                description "IPsec vers vpnipsecsrv"
                destination {
                    address pubip1
                    port 500
                }
                inbound-interface pppoe0
                inside-address {
                    address 10.10.10.19
                    port 500
                }
                log disable
                protocol udp
                type destination
            }
            rule 4 {
                description "NAT-T IPsec vers vpnipsecsrv"
                destination {
                    address pubip1
                    port 4500
                }
                inbound-interface pppoe0
                inside-address {
                    address 10.10.10.19
                    port 4500
                }
                log disable
                protocol udp
                type destination
            }
            [...]
            rule 5010 {
                description "Masquerade Orange"
                log disable
                outbound-interface pppoe0
                protocol all
                type masquerade
            }
            rule 5011 {
                description "Masquerade Free"
                log disable
                outbound-interface eth2
                protocol all
                type masquerade
            }
            rule 5012 {
                description "Masquerade interne pour hairpin"
                destination {
                    address 10.10.0.0/16
                }
                log disable
                outbound-interface eth0
                protocol tcp_udp
                source {
                    address 10.10.0.0/16
                }
                type masquerade
            }
        }
        ssh {
            allow-root
            disable-password-authentication
            port 22
            protocol-version v2
        }
    }
    system {
        config-management {
            commit-revisions 50
        }
        conntrack {
            expect-table-size 4096
            hash-size 4096
            table-size 32768
            tcp {
                half-open-connections 512
                loose disable
                max-retrans 3
            }
        }
        domain-name company-domain
        host-name router-hostname
        login {
            user root {
                authentication {
                    encrypted-password **********************
                    plaintext-password ""
                    public-keys operator2@company-domain {
                        key *********************
                        type ssh-rsa
                    }
                    public-keys operator1@company-domain {
                        key ********************
                        type ssh-ed25519
                    }
                    public-keys operator3@company-domain {
                        key *************************
                        type ssh-rsa
                    }
                }
                full-name ""
                level admin
            }
            user ubnt {
                authentication {
                    encrypted-password ***************
                    plaintext-password ""
                    public-keys operator2@company-domain {
                        key *********************
                        type ssh-rsa
                    }
                    public-keys operator1@company-domain {
                        key ******************
                        type ssh-ed25519
                    }
                    public-keys operator3@company-domain {
                        key ************
                        type ssh-rsa
                    }
                }
                full-name ""
                level admin
            }
        }
        name-server 10.10.10.4
        name-server 10.10.10.5
        ntp {
            server 0.ubnt.pool.ntp.org {
            }
            server 1.ubnt.pool.ntp.org {
            }
            server 2.ubnt.pool.ntp.org {
            }
            server 3.ubnt.pool.ntp.org {
            }
        }
        offload {
            hwnat disable
            ipsec enable
            ipv4 {
                forwarding enable
                pppoe enable
                vlan enable
            }
            ipv6 {
                forwarding enable
            }
        }
        package {
            repository wheezy {
                components "main contrib non-free"
                distribution wheezy
                password ""
                url http://ftp.fr.debian.org/debian/
                username ""
            }
            repository wheezy-security {
                components main
                distribution wheezy/updates
                password ""
                url http://security.debian.org
                username ""
            }
        }
        syslog {
            global {
                facility all {
                    level notice
                }
                facility protocols {
                    level warning
                }
            }
        }
        time-zone Europe/Paris
        traffic-analysis {
            dpi disable
            export disable
        }
    }


    /* Warning: Do not remove the following line. */
    /* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
    /* Release version: v1.9.0.4901118.160804.1139 */

Ça marche globalement, mais j'ai des problèmes de paquets dropés de façon irrégulière quand le routeur est soumis à forte charge. Donc pas tiptop non plus. J'ai essayé de désactiver l'accélération matérielle pour diagnostiquer en software mais sans surprise le routeur ne semble pas capable d'encaisser la charge du lien sur son CPU, monte à 100% de load et ça empire les problèmes plus qu'autre chose. Les utilisations impactées couvrent un peu tout, HTTP, SSH, sous Linux, sous Windows, je doute donc que ça vienne des clients.

tivoli

  • Toulouse (31)
  • Abonné Bbox fibre
  • *
  • Messages: 1 943
  • Toulouse (31)
Cherche routeur pour dual-homing dual-stack sur des liens fibre
« Réponse #9 le: 09 janvier 2017 à 12:48:18 »
Je suis aussi en pleins test et j'avoue que je ne suis pas encore satisfait, je posterais probablement ma configuration