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

0 Membres et 1 Invité sur ce sujet

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 292
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2088 le: 06 février 2016 à 12:18:25 »
y'a pas que DHCLIENT non?
Certes, mais c'est lui qui fait le plus ch*er car dans l'optique ou la classification fonctionne(rait) sur l'ERL (A vérifier, même chez Ubiquiti ils ne savent pas nous dire avec certitude si ça va marcher ou pas avec l'offload...), si on doit tout "prioritiser" par défaut à 6 puis à 0, c'est bien à cause de lui.

Se passer d'offload à cause d'une règle CLASSIFY uniquement pour la téléphonie, je pense que c'est acceptable (sachant que déjà actuellement c'est le cas puisqu'on bridge et que l'offload sur un bridge n'est pas supporté). Par contre se passer totalement de l'offload parce qu'on doit classifier tout le traffic ça me gène déjà plus...


BM92

  • Abonné Free fibre
  • *
  • Messages: 786
  • Rueil-Malmaison (92)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2089 le: 06 février 2016 à 12:41:01 »
sinon on suivra de pres: http://rtfm.net/FreeBSD/ERL/ pour voir peut-etre un jour PfSense sur l'ERL.... (j'en reve).

A lire mais en anglais  :-X  https://forum.pfsense.org/index.php?topic=63926.msg387713#msg387713
Mais tu connais peut-être déjà

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 099
  • Paris (75)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2090 le: 06 février 2016 à 14:12:02 »
Certes, mais c'est lui qui fait le plus ch*er car dans l'optique ou la classification fonctionne(rait) sur l'ERL (A vérifier, même chez Ubiquiti ils ne savent pas nous dire avec certitude si ça va marcher ou pas avec l'offload...), si on doit tout "prioritiser" par défaut à 6 puis à 0, c'est bien à cause de lui.

Se passer d'offload à cause d'une règle CLASSIFY uniquement pour la téléphonie, je pense que c'est acceptable (sachant que déjà actuellement c'est le cas puisqu'on bridge et que l'offload sur un bridge n'est pas supporté). Par contre se passer totalement de l'offload parce qu'on doit classifier tout le traffic ça me gène déjà plus...

Je ne vois pas comment ils peuvent faire de l'offload ET supporter une classification "partielle" ?

tu croix que si on a une règle qui ne match que 'téléphonie, dhcp, arp, dhcpv6, icmpv6' alors les autres paquets peuvent être offload ?!
je ne vois pas comment. Un paquet qui ne match pas doit être testé pour voir s'il ne match pas ...non ?! :p si c'est complètement bypassé par l'offload c'est tout ou rien.
ou alors je n'ai pas compris ton message...

a beau y réfléchir un simple mapping "DSCP to skb->pri" est vraiment le plus simple. Ca se code facilement si on sait ou  ;D

A lire mais en anglais  :-X  https://forum.pfsense.org/index.php?topic=63926.msg387713#msg387713
Mais tu connais peut-être déjà

oui j'ai vu mais le sujet est un peu mort depuis le temps.

j’avoue que PfSense dans l'ERL me plairait bien. Meme si on atteint pas 1Gbps en IPv6 on pourra peut-être l'atteindre en IPv6 (qui est plus simple a router rapidement c'est conçu pour ca quand meme: y'a pas de checksum et un flow label concu pour l'offload.).

1Gpbs en IPv6 et 240Mbps en IPv4 me conviendrait très bien vu le prix de l'ERL.

mais bon le port FreeBSD n'a pas bougé depuis 2014.

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 292
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2091 le: 06 février 2016 à 14:42:18 »
tu croix que si on a une règle qui ne match que 'téléphonie, dhcp, arp, dhcpv6, icmpv6' alors les autres paquets peuvent être offload ?!
je ne vois pas comment. Un paquet qui ne match pas doit être testé pour voir s'il ne match pas ...non ?! :p si c'est complètement bypassé par l'offload c'est tout ou rien.
ou alors je n'ai pas compris ton message...
C'est ce que je supposais effectivement.

Je m'étais basé sur un fil du forum ubnt où il était expliqué que certaines fonctionnalités (les règles "modify" du firewall notamment) ne désactivaient l'offload que pour le traffic qui matchait les règles...


Après, personnellement, je ne pense pas qu'il soit nécessaire de modifier le noyau pour arriver à nos fins. Pourquoi ? Parce qu'à priori, ce qui fait tourner La livebox, c'est Linux. Si Orange/Sagem avait modifié le noyau, alors ils sont obligés de diffuser les sources. Manifestement ce n'est pas le cas (ou alors ils violent la GPL).


kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 099
  • Paris (75)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2092 le: 06 février 2016 à 15:02:05 »
Citer
La passerelle domestique Livebox Play se base notamment sur des logiciels publiés sous une licence dite
libre ou open source, comme par exemple le noyau Linux, Busybox ou Iptables, tous les trois publiés selon
les termes de la licence GNU General Public License (GNU GPL). Le client peut consulter la liste des logiciels
concernés, leur licence et télécharger leur code source complet et correspondant sur le site web http://www.livebox-floss.com


http://www.livebox-floss.com:

Citer
Access Denied (policy_denied)

Your system policy has denied access to the requested URL.

For assistance, contact your network support team.

bj Orange !

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 099
  • Paris (75)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2093 le: 06 février 2016 à 15:04:12 »
bon en fait ils ont bougé tout le tout ici: http://opensource.orange.com/software/home/livebox/LB-3-SagemCom

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 292
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2094 le: 06 février 2016 à 15:06:16 »
Bien vu.

Du coup je télécharge ce qui concerne le firmware SG30_sip-fr-5.7.16 (le plus récent qu'on trouve sur le site).

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 099
  • Paris (75)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2095 le: 06 février 2016 à 15:08:24 »
ok moi je sort prendre l'air  8) je compte sur toi  :P

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 292
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2096 le: 06 février 2016 à 15:09:59 »
En fait il y une copie complète des sources du noyau. Il faut que je trouve un moyen de trouver les différences avec le noyau officiel.

Edit:

Bon, le firmware de la livebox est basé sur le noyau 2.6.28.8. Du coup j'ai récupéré le code source d'origine sur kernel.org et j'ai fait un diff. Problème, chez Orange ils utilisent évidemment un système de gestion de révisions et ils ont committé l'ensemble du code source. Du coup il y a beaucoup de différences entre le code source d'origine et le code "orange" dues aux numéros de versions dans les headers des fichiers... Ca va être chaud d'analyser... Ceci dit j'ai déjà vu des différences dans le module 802.1q...

xt_CLASSIFY.c :

static unsigned int
classify_tg(struct sk_buff *skb, const struct xt_target_param *par)
{
const struct xt_classify_target_info *clinfo = par->targinfo;

if (clinfo->priority == 0xff) {
u_int8_t dscp = 0;
if (par->family == NFPROTO_IPV4) {
if(ip_hdr(skb)) {
dscp = ipv4_get_dsfield(ip_hdr(skb)) >> XT_DSCP_SHIFT;
}
}
else {
if(ipv6_hdr(skb)) {
dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> XT_DSCP_SHIFT;
}
}
skb->priority = (dscp >> 3) & 7;
}
else {
skb->priority = clinfo->priority;
}
return XT_CONTINUE;
}

comparé à la version du kernel d'origine:

static unsigned int
classify_tg(struct sk_buff *skb, const struct xt_target_param *par)
{
const struct xt_classify_target_info *clinfo = par->targinfo;

skb->priority = clinfo->priority;
return XT_CONTINUE;
}

Il y a surement d'autres modifications, et franchement tout interpréter ça dépasse largement mes compétences (et dire qu'à une époque j'avais osé postuler chez Texas Instruments pour bosser sur la plateforme OMAP4... Un peu prétentieux j'étais  ;D ).

Pour l'instant on peut juste dire qu'ils utilisent iptables et CLASSIFY, mais une version perso...

Je vais en rester là pour l'instant, c'est le WE et si je continue c'est le divorce assuré...

Allez une petite dernière :

/*
 * Send an arp packet.
 */
void arp_xmit(struct sk_buff *skb)
{
skb->apFlowData.controlFlags |= IPQOS_HOQ_PACKET;
skb->priority = CONFIG_SAH_ARP_PRIORITY;
/* Send it off, maybe filter it using firewalling first.  */
NF_HOOK(NFPROTO_ARP, NF_ARP_OUT, skb, NULL, skb->dev, dev_queue_xmit);
}

Les 2 premières lignes qui configurent le skb ne sont pas dans le kernel d'origine.

« Modifié: 06 février 2016 à 15:58:41 par zoc »

BM92

  • Abonné Free fibre
  • *
  • Messages: 786
  • Rueil-Malmaison (92)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2097 le: 06 février 2016 à 16:04:55 »
Les 2 premières lignes qui configurent le skb ne sont pas dans le kernel d'origine.

Donc ils violent la GPL ?

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 292
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2098 le: 06 février 2016 à 16:07:31 »
Bah non puisqu'ils publient le code source de leur modification.

Nopt

  • Abonné Orange Fibre
  • *
  • Messages: 31
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #2099 le: 06 février 2016 à 16:27:34 »
Bonjour,

J'ai utilisé la super config de Gnubyte pour le edr 5 ports mais j'éprouve quelques difficultés à faire marcher le NAT loopback.
Le port forwarding marche nickel depuis l’extérieur mais j'ai beau cocher la case Hairpin NAT ainsi que Auto firewall je ne tombe que sur le web GUI depuis le LAN :(

port-forward {
    auto-firewall enable
    hairpin-nat enable
    lan-interface eth2
    lan-interface eth3
    lan-interface eth4
    lan-interface switch0
    rule 1 {
        description HTTP
        forward-to {
            address 192.168.1.25
            port 80
        }
        original-port 80
        protocol tcp_udp
    }
    wan-interface pppoe0
}

Comme vous pouvez le voir j'ai testé tout un tas de lan-interfaces ;D
Mais le problème est manifestement ailleurs ^^' (ou pas ?)
J'ai aussi tenté la "vieille méthode" pre-version 1.4 (je suis en 1.7) avec les règles NAT mais j'ai réussi qu'a tout casser :/

Un gourou des réseaux qui passerait par la aurait-il une idée sur d’où peut venir mon problème ?  :)