Auteur Sujet: Remplacer sa Livebox par un routeur Ubiquiti Edgemax  (Lu 1540085 fois)

0 Membres et 4 Invités sur ce sujet

lildadou

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 25
  • Arras (62)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3804 le: 03 septembre 2018 à 01:24:35 »
J'ai suivi avec succès le tuto de @zoc (que je remercie une nouvelle fois).

Toutefois, j'avoue que je ne maîtrise que les concepts élèmentaires du tuto (NAT, firewall, VLAN, dhcp). Certaines commandes, options ou binaires semblent répondre à des besoins spécifiques et j'aurai aimé les connaitre. Pour celà, j'ai réalisé une lecture fine (et ce fut très enrichissant) de la config proposée par zoc dont je publie une version annotée pour les section firewall et interfaces pour ceux que ça intéresserait :
firewall {
    # Autoriser les requêtes ICMP (ping,echo,...)
    all-ping enable
   
    # On interdit la version broadcastée, faudrait pas qu'on aide des zozos à faire planter le réseau d'orange
    broadcast-ping disable
   
    # Empêche une technique de dissimulation de vilains pirates
    ip-src-route disable
   
    # Logger les packets qui ne devrait pas exister
    # car c'est peut-etre une erreur de config grave
    log-martians enable
   
    # Par défaut, le firewall refuse tout
    # mais on accepte :
    #  - les packets de connexions déjà établies
    name WAN_IN {
        default-action drop
        description "WAN to internal"
        rule 10 {
            action accept
            description "Allow established/related"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log disable
            protocol all
            state {
                established disable
                invalid enable
                new disable
                related disable
            }
        }
    }
   
    # Par défaut, le firewall refuse tout
    # mais on accepte :
    #  - les packets de connexions déjà établies
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 1 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 3 {
            action drop
            description "Drop invalid state"
            log disable
            state {
                invalid enable
            }
        }
    }
    # On ignore les conseils de routage des autres routeurs
    receive-redirects disable
    # par contre, on se permet d'en donner (alias fait-ce-que-je-dis-pas-ce-que-je-fais)
    send-redirects enable
   
    # Pour interdire le spoofing d'ip depuis chez moi: http://www.bortzmeyer.org/3704.html
    # pas sur que ça fonctionne avec un PAT
    source-validation disable
   
    # Evite de se faire DoS par remplissage de la pile TCP: https://fr.wikipedia.org/wiki/SYN_cookie
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        description LAN_ETH0
        address dhcp
        duplex auto
        speed auto
    }
    ethernet eth1 {
        description ISP
        duplex auto
        speed auto
       
        # Dans cette section, on s'occupe que des trames taggés 832
        vif 832 {
            address dhcp
            description ISP_DATA
            dhcp-options {
                # On explique une nouvelle option au client DHCP
                global-option "option rfc3118-auth code 90 = string;"
           
                # pour faire croire que le EdgeRouter est une Livebox
                client-option "send vendor-class-identifier "sagem";"
                client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
               
                # On envoie son identifiant
                client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:blabla;"
               
                # on dit au serveur DHCP ce qu'on attend
                client-option "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth;"
               
                # On dit à notre routeur de prendre en compte ce que raconte le serveur
                # DHCP et de retenir l'IP de la passerelle qu'il a fournit
                default-route update
                default-route-distance 210
               
                # pareil mais pour le DNS à utiliser
                name-server update
            }
           
            # Si on a des packets taggés "prioritaires" alors on leur enlève leur priorité
            egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
           
            # on associe les livres de régles firewall en fonction du sens du traffic
            firewall {
                # Packets à forwarder entrant
                # Parce que le NAT intervient avant le firewall
                in {
                    name WAN_IN
                }
                # Packets destinés spécifiquement au routeur
                # Par exemple, pour le service de DNS forwarding
                local {
                    name WAN_LOCAL
                }
            }
        }
    }
    ethernet eth2 {
      disable
    }
    ethernet eth3 {
        disable
    }
    loopback lo {
    }
}


Je ne suis malheureusement pas parvenu à trouver des réponses à toutes mes interrogations et je vous sollicite donc:
 - à quoi sert le module conntrack? A tenir une table des connections tcp qui passent par le routeur, certes, mais pourquoi?
 - pourquoi default-route-distance à 210?
 - pourquoi enlever les prio (egress-qos)? Dans quel scénarios, des paquets CoS>0 peuvent apparaître?
 - pourquoi hwnat disable?
 - est ce que le dhclient3 patché ne sert que pour mettre la CoS à 6 ou aussi pour la RFC3442 ou d'autres choses? où puis-je trouver le patch (ou les sources)?
 - le script rfc3442-classless-routes à l'air d'ajouter des routes statiques, à quoi servent t-elles?

Pardonnez ma curiosité  ::)

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3805 le: 03 septembre 2018 à 08:08:58 »
- à quoi sert le module conntrack? A tenir une table des connections tcp qui passent par le routeur, certes, mais pourquoi?
Pas que TCP, toutes.

EdgeOS c'est un Linux, donc le firewall c'est iptables. iptables utilise le module conntrack pour tracker les connexions "établies" (pour UDP aussi, même si établi n'a pas vraiment de sens). Sans module conntrack, impossible de matcher un paquet sur son état (new, established, related ou invalid)...

conntrack inspecte également de manière proactive certains protocoles connus (FTP par exemple), afin d'autoriser les connexions annexes, comme le Canal DATA de FTP, qui sont donc marquées "related" puisque liées au canal de commande.

Citer
- pourquoi default-route-distance à 210?
Aucune idée, c'est la valeur par défaut dans EdgeOS.

Citer
- pourquoi enlever les prio (egress-qos)? Dans quel scénarios, des paquets CoS>0 peuvent apparaître?
On n'enlève pas de prio. La valeur par défaut est "0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0". Sur le VLAN 832, on se contente donc de mettre la CoS 6 pour le SKB 6 (pour DHCP).

"egress-qos", ce n'est pas un mapping entre une hypothétique priorité entrante et une priorité sortante. C'est un mapping entre une priorité interne au noyau (skb) et une CoS 802.1p. Pour les paquets routés, cette priorité interne est déterminée à partir du champ IP_TOS de l'entête IP. Pour les paquets générés par le routeur, cette priorité interne est déterminée par le processus générant les paquets (setsockopt SO_PRIORITY).

Le risque de mettre "0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7", c'est que certains paquets provenant du LAN avec une TOS particulière (le truc le plus probable c'est le VOIP SIP) se retrouvent dans une SKB différente de 0 (on ne peut rien y faire la table IP_TOS -> SKB est codée en dur dans le noyau), et du coup aient une CoS différente de 0 et se retrouvent dans des files particulières chez Orange et donc aient leur latence/débit altérés, voir ne soient pas routés du tout...

Citer
- pourquoi hwnat disable?
Parce que mon fichier de configuration est pour un EdgeRouter sur architecture Cavium (ERL, etc...), pas MediaTek (ER-X).

https://help.ubnt.com/hc/en-us/articles/115006567467-EdgeRouter-Hardware-Offloading

Citer
- est ce que le dhclient3 patché ne sert que pour mettre la CoS à 6 ou aussi pour la RFC3442 ou d'autres choses? où puis-je trouver le patch (ou les sources)?
Uniquement CoS.

https://lafibre.info/remplacer-livebox/en-cours-remplacer-sa-livebox-par-un-routeur-ubiquiti-edgemax/?action=dlattach;attach=33988

Citer
- le script rfc3442-classless-routes à l'air d'ajouter des routes statiques, à quoi servent t-elles?
Il faut demander à Orange ;). Ces routes sont dans la réponse DHCP sur le VLAN 838.

Quoi qu'il est soit elle sont (étaient ? un autre fil semble dire que tout marche sans maintenant) nécessaires au bon fonctionnement de l'ensemble des services TV (Replay, VOD...).
« Modifié: 03 septembre 2018 à 08:39:55 par zoc »

lildadou

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 25
  • Arras (62)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3806 le: 03 septembre 2018 à 09:12:25 »
Tu es vraiment un contributeur indispensable  :-*
ça réponds à toutes mes questions, un grand merci

dmfr

  • Abonné Orange adsl
  • *
  • Messages: 275
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3807 le: 03 septembre 2018 à 19:21:25 »
Il faut demander à Orange ;). Ces routes sont dans la réponse DHCP sur le VLAN 838.

Quoi qu'il est soit elle sont (étaient ? un autre fil semble dire que tout marche sans maintenant) nécessaires au bon fonctionnement de l'ensemble des services TV (Replay, VOD...).

Pour ma part, je confirme que tous les services TV fonctionnent par le vlan 832, j'ai supprimé tout ce qui concerne le VLAN 838.
C'est d'ailleurs ce que rapportent les livebox dans la page de diagnostic TV, les services sont désormais en vlan 832 (partout ? depuis quand?).
Le direct multicast reste évidemment en 840.

sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3808 le: 03 septembre 2018 à 20:16:51 »
Ah, UPnP... Je n'y aurais pas pensé. Chez moi j'ai des règles qui empêchent l'assignation de tous les ports < 1024 et IPSEC NAT-T (et ainsi que quelques autres, supprimées de la config ci-dessous, pour des ports non privilégiés bien particuliers).

    upnp2 {
        acl {
            rule 103 {
                action deny
                description IPSEC-NAT-T
                external-port 4500
                local-port 0-65535
                subnet 0.0.0.0/0
            }
            rule 200 {
                action allow
                description Allow
                external-port 1024-65535
                local-port 0-65535
                subnet 0.0.0.0/0
            }
            rule 9000 {
                action deny
                description DENY
                external-port 0-65535
                local-port 0-65535
                subnet 0.0.0.0/0
            }
        }
        listen-on eth3.66
        nat-pmp enable
        secure-mode enable
        wan eth1.832
    }

Oui faut admettre que c’etait tordu comme problème.
Merci pour ces règles, appliquées et complètement fonctionnelle.
La configuration dns/dhcp étant très pauvre sur EdgeOS je me tâte à repasser par les services Dhcp Dns de mes synology.
Y voyez vous des contre-indications.
Pour le vpn il faudra que j’ajoute le dns forwarding vers eux mais il y a t’il des contres-indications.
Steph

hj67

  • Abonné Orange Fibre
  • *
  • Messages: 360
  • 67
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3809 le: 04 septembre 2018 à 03:34:45 »
Pour ma part, je confirme que tous les services TV fonctionnent par le vlan 832, j'ai supprimé tout ce qui concerne le VLAN 838.
C'est d'ailleurs ce que rapportent les livebox dans la page de diagnostic TV, les services sont désormais en vlan 832 (partout ? depuis quand?).
Le direct multicast reste évidemment en 840.
Cela a l'air récent (cet été ?). J'en parlais ici suite à la réalisation d'une conf la semaine dernière.

kjbstar

  • Abonné Orange Fibre
  • *
  • Messages: 22
  • Aix-en-Provence 13
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3810 le: 04 septembre 2018 à 19:46:01 »
Intéressant, faudra que je fasse un test quand j'aurais un peu de temps, ça expliquerait peut être pourquoi j'ai plus la TV...

hj67

  • Abonné Orange Fibre
  • *
  • Messages: 360
  • 67
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3811 le: 04 septembre 2018 à 20:37:37 »
La TV est toujours sur le 840.

lildadou

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 25
  • Arras (62)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3812 le: 06 septembre 2018 à 00:20:03 »
Bonsoir,
j'ai commencé à réaliser un script pour une installation automatisée (ça installe et ça réinstalle en cas de MàJ firmware).
Malheureusement, je ne trouve pas de solution pour réaliser ce qu'il y à faire dans le shell configure

Je vous mets bazar en pièce jointe. Voici comment s'en servir:
tar x -C /config -f /home/ubnt/orange-autoconf.tgz
vi /config/orange.autoconf/install.properties
/config/orange.autoconf/install.sh

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3813 le: 06 septembre 2018 à 07:11:47 »
Je ne comprends pas trop... Je n’ai pas regardé le contenu de ton archive, mais vu que tu parles du shell configure, j’imagine que tu penses qu’il faut jouer avec la config après chaque mise à jour.

Hors ce n’est pas le cas, la configuration est entièrement conservée. Les seuls trucs à réinstaller, c’est ce qu’il y a en dehors de /config, donc potentiellement dhclient et le script pour les routes obtenues par DHCP. Pour cela, il suffit de faire un script de 5 lignes max et de le mettre dans /config/scripts/firstboot.d ...

lildadou

  • Abonné RED by SFR fibre FttH
  • *
  • Messages: 25
  • Arras (62)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3814 le: 06 septembre 2018 à 09:27:20 »
Tu présumes mal ; je sais que la configuration perdure après une MàJ.
Mais il faut bien réaliser cette configuration une première fois, non?

PS: firstboot.d? Ah? j'ai fait une petite erreur alors ^^

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3815 le: 06 septembre 2018 à 09:40:48 »
Ok, donc je comprends que ce que tu veux faire, c'est générer le fichier de config. Dans ce cas je suggère de carrèment faire un wizard pour l'interface graphique ;) (il doit y avoir de la doc et/ou des exemples sur le site d'ubnt).

Sinon, je confirme que les scripts qui sont dans le dossier /config/scripts/firstboot.d sont exécutés automatiquement lors du premier reboot sur un nouveau firmware. Exemple de ce que j'ai chez moi:
#!/bin/sh -e

DESTFILE=/sbin/dhclient3.old

if [ -f "$DESTFILE" ]
then
        echo "Patched dhclient already there"
        exit 0
fi

mv /sbin/dhclient3 /sbin/dhclient3.old
cp /config/packages/dhclient3 /sbin/dhclient3

chmod 755 /sbin/dhclient3