Re: [FRnOG] [TECH] trafic shaping sur linux
Capable de router 1G de trafic... De : Méhdi Denou mehdi.de...@gmail.com À : Antoine Durant antoine.duran...@yahoo.fr Cc : frnog@frnog.org frnog@frnog.org Envoyé le : Samedi 8 juin 2013 12h51 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Define bonne Le 7 juin 2013 20:31, Antoine Durant antoine.duran...@yahoo.fr a écrit : Merci pour les infos... Je vais tester les deux et voir un peux cela... Par contre quelqu'un a t'il un tableau qui donne la force d'un serveur pour faire du routage en fonction du nombre de PPS ? Comment dire que telle config est bonne,moyenne ou a bazarder ? Une petite idée de classification ? --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Voilà un post qui montre un bench ( certes pas du pur routage) avec justement de bons NICs 10g sous linux. http://haproxy.1wt.eu/10g.html -- Steven Le Roux Le 7 juin 2013 20:33, Antoine Durant antoine.duran...@yahoo.fr a écrit : Merci pour les infos... Je vais tester les deux et voir un peux cela... Par contre quelqu'un a t'il un tableau qui donne la force d'un serveur pour faire du routage en fonction du nombre de PPS ? Comment dire que telle config est bonne,moyenne ou a bazarder ? Une petite idée de classification ? --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Define bonne Le 7 juin 2013 20:31, Antoine Durant antoine.duran...@yahoo.fr a écrit : Merci pour les infos... Je vais tester les deux et voir un peux cela... Par contre quelqu'un a t'il un tableau qui donne la force d'un serveur pour faire du routage en fonction du nombre de PPS ? Comment dire que telle config est bonne,moyenne ou a bazarder ? Une petite idée de classification ? --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Salut, Une petite question concernant le trafic shaping avec TC sous Linux... Parmi-vous, est-ce que vous implantez le trafic shaping sur vos routeurs BGP (quagga par exemple) ? Facile en mettre en œuvre, fiable ? Cela bouffe t’il beaucoup de ressource machine ? Je pense utiliser tc qdisc/tc class couplé à iptables (mangle/POSTROUTING) avec CLASSIFY afin de matcher sur mes classid du tc class. J’attends vos retours d’expérience avec impatience et voir même quelque petit exemple de config si vous en avez sous la main… Personnellement, je part du principe : le routeur route et ne fait que ça. Ajouter des surcouches c'est perdre la main sur l'équipement en cas de saturation avec des petits paquets (genre... syn DDoS, par exemple) qui montent dans toutes les surcouches TC et iptables. Après pour du test, c'est une idée, pour de la prod, sépares les torchons et serviettes. Xavier --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Bonjour Xavier, Personnellement, je part du principe : le routeur route et ne fait que ça... Bizarre ! La régulation du trafic IP est réalisé hors débordement par des équipements qui ne peuvent être que des routeurs IP. Sans régulation de trafic, on met en danger les routeurs IP en aval de la connectivité. Cordialement, Michel Hostettler --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Le 7 juin 2013 à 12:50, Michel Hostettler michel.hostett...@telecom-paristech.fr a écrit : Bonjour Xavier, Personnellement, je part du principe : le routeur route et ne fait que ça... Bizarre ! La régulation du trafic IP est réalisé hors débordement par des équipements qui ne peuvent être que des routeurs IP. Sans régulation de trafic, on met en danger les routeurs IP en aval de la connectivité. Quand on a de l'ASIC qui sait faire ça oui. Sur du matériel généraliste, c'est limite se tirer une balle dans le pied. Mais quand je vois les gars qui s'amusent a faire du statefull sur un routeur bgp ... humm comment dirais-je...? Xavier --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Oui je trouve un peux bizarre aussi... Il me semble de mon point de vue qu'il est préférable de faire du trafic shaping sur le routeur principal... ( En plus je n'ai qu'un seul routeur donc il va être difficile de l'appliquer sur celui du dessous... ) En regardant un peux sur google, je m'aperçoi que bon nombre d'ISP/FAI utilise le trafic shaping sur le routeur sans forcément de problème... Je ne suis pas derriere pour vérifier mais cela à l'air d'être appliqué à granche echelle ! De : Michel Hostettler michel.hostett...@telecom-paristech.fr À : Xavier Beaudouin k...@oav.net Cc : frnog-t...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Envoyé le : Vendredi 7 juin 2013 12h50 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Bonjour Xavier, Personnellement, je part du principe : le routeur route et ne fait que ça... Bizarre ! La régulation du trafic IP est réalisé hors débordement par des équipements qui ne peuvent être que des routeurs IP. Sans régulation de trafic, on met en danger les routeurs IP en aval de la connectivité. Cordialement, Michel Hostettler --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Salut, Le 7 juin 2013 à 14:09, Antoine Durant antoine.duran...@yahoo.fr a écrit : Oui je trouve un peux bizarre aussi... Il me semble de mon point de vue qu'il est préférable de faire du trafic shaping sur le routeur principal... ( En plus je n'ai qu'un seul routeur donc il va être difficile de l'appliquer sur celui du dessous... ) En regardant un peux sur google, je m'aperçoi que bon nombre d'ISP/FAI utilise le trafic shaping sur le routeur sans forcément de problème... Je ne suis pas derriere pour vérifier mais cela à l'air d'être appliqué à granche echelle ! Disons que google, et les autres isp (ceux qui ont plus que 1Gpbs de traffic donc) ont depuis longtemps utilisé du matériel qui est capable de manger du pps. Après sur un Linux (bien tunné avec un bon noyau) tu peux arriver a faire du pps. Mais plus tu mets de surcouches, plus tu perds du pps. (J'avais vu que le fait d'activer iptables sur un linux, faisais perdre de façon importante du pps sur des petits packets, je me rappelles plus du chiffre mais c'étais important, suffisament pour ne pas l'activer sur un routeur). Après tout dépends de ton activité, mais en cas de syn flood, j'ai vu des juniper m7i se la couler douce pendant qu'un dual xeon E5 avec le turbo boost quivasbien perdre 80% de packets alors que le shapping étais a 30% de la limite max. C'est toi qui voit, mais le software a ses limites quand même sinon les routeurs avec plein d'asic ne seraient que du bullshit commercial. (et a noter que je sais de quoi je parle j'ai longtemps utilisé du routage software...). Xavier --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Bonjour, Le 07/06/2013 14:09, Antoine Durant a écrit : En regardant un peux sur google, je m'aperçoi que bon nombre d'ISP/FAI utilise le trafic shaping sur le routeur sans forcément de problème... Je ne suis pas derriere pour vérifier mais cela à l'air d'être appliqué à granche echelle ! Mais pour quoi faire ? Cordialement, Christophe --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Pour une solution on nous limitons environ 1000 clients a quelques Mb chacun avec TC (pas d'IGP ou EGP sur la machine, juste une passerelle transparente) Nous utilisons une hash lookup table de deux niveaux sur les adresses MAC. Facile : seulement une fois que tu as un script qui génère la configuration Fiable: oui, si les règles sont bien conçues. Thomas On 7 Jun 2013, at 09:58, Antoine Durant antoine.duran...@yahoo.fr wrote: Bonjour, Une petite question concernant le trafic shaping avec TC sous Linux... Parmi-vous, est-ce que vous implantez le trafic shaping sur vos routeurs BGP (quagga par exemple) ? Facile en mettre en œuvre, fiable ? Cela bouffe t’il beaucoup de ressource machine ? Je pense utiliser tc qdisc/tc class couplé à iptables (mangle/POSTROUTING) avec CLASSIFY afin de matcher sur mes classid du tc class. J’attends vos retours d’expérience avec impatience et voir même quelque petit exemple de config si vous en avez sous la main… A++ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Pour limiter le trafic INPUT/OUTPUT de certaines adresses IP dans mon AS par exemple :) En gros faire une conf avec différente valeur rate autorisés sur le routeur De : Christophe Baegert c.baegert-lis...@lixium.fr À : Antoine Durant antoine.duran...@yahoo.fr Cc : Michel Hostettler michel.hostett...@telecom-paristech.fr; Xavier Beaudouin k...@oav.net; frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 14h28 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Bonjour, Le 07/06/2013 14:09, Antoine Durant a écrit : En regardant un peux sur google, je m'aperçoi que bon nombre d'ISP/FAI utilise le trafic shaping sur le routeur sans forcément de problème... Je ne suis pas derriere pour vérifier mais cela à l'air d'être appliqué à granche echelle ! Mais pour quoi faire ? Cordialement, Christophe --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Pas bête... Et comment cela se présente t'il ? Peux-tu expliquer plus en détail la configuration STP ? Merci De : Thomas Mangin thomas.man...@exa-networks.co.uk À : frnog-ow...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 14h34 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Pour une solution on nous limitons environ 1000 clients a quelques Mb chacun avec TC (pas d'IGP ou EGP sur la machine, juste une passerelle transparente) Nous utilisons une hash lookup table de deux niveaux sur les adresses MAC. Facile : seulement une fois que tu as un script qui génère la configuration Fiable: oui, si les règles sont bien conçues. Thomas On 7 Jun 2013, at 09:58, Antoine Durant antoine.duran...@yahoo.fr wrote: Bonjour, Une petite question concernant le trafic shaping avec TC sous Linux... Parmi-vous, est-ce que vous implantez le trafic shaping sur vos routeurs BGP (quagga par exemple) ? Facile en mettre en œuvre, fiable ? Cela bouffe t’il beaucoup de ressource machine ? Je pense utiliser tc qdisc/tc class couplé à iptables (mangle/POSTROUTING) avec CLASSIFY afin de matcher sur mes classid du tc class. J’attends vos retours d’expérience avec impatience et voir même quelque petit exemple de config si vous en avez sous la main… A++ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Le 07/06/2013 15:02, Antoine Durant a écrit : Pour limiter le trafic INPUT/OUTPUT de certaines adresses IP dans mon AS par exemple :) Les switches ne seraient pas plus adaptés pour ça ? Cordialement, Christophe --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
802.1q parent 1:0 prio 5 u32 ht 2:6 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 206: tc filter add dev eth1 parent 1:0 prio 5 handle 207: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:7 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 207: ... # Create a queue for each customer and assign their devices to it # filtered client 1 - 2Mb tc class add dev eth0 parent 1:0 classid 1:1000 htb rate 2097152 ceil 2097152 burst 16k prio 5 tc class add dev eth1 parent 1:0 classid 1:1000 htb rate 2097152 ceil 2097152 burst 16k prio 5 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 220:12 match u32 0xb88d1214 0x at -8 match u16 0x3dae 0x at -4 flowid 1:1000 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 220:12 match u32 0x12143dae 0x at -12 match u16 0xb88d 0x at -14 flowid 1:1000 # filtered client - 10 Mb ( 2 MAC ) tc class add dev eth0 parent 1:0 classid 1:1131 htb rate 1024 ceil 1024 burst 16k prio 5 tc class add dev eth1 parent 1:0 classid 1:1131 htb rate 1024 ceil 1024 burst 16k prio 5 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 237:7b match u32 0x68967b25 0x at -8 match u16 0x2659 0x at -4 flowid 1:1131 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 237:7b match u32 0x7b252659 0x at -12 match u16 0x6896 0x at -14 flowid 1:1131 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 340:c4 match u32 0x68a3c48c 0x at -8 match u16 0x5166 0x at -4 flowid 1:1131 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 340:c4 match u32 0xc48c5166 0x at -12 match u16 0x68a3 0x at -14 flowid 1:1131 beaucoup beaucoup plus .. Thomas On 7 Jun 2013, at 14:03, Antoine Durant antoine.duran...@yahoo.fr wrote: Pas bête... Et comment cela se présente t'il ? Peux-tu expliquer plus en détail la configuration STP ? Merci De : Thomas Mangin thomas.man...@exa-networks.co.uk À : frnog-ow...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 14h34 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Pour une solution on nous limitons environ 1000 clients a quelques Mb chacun avec TC (pas d'IGP ou EGP sur la machine, juste une passerelle transparente) Nous utilisons une hash lookup table de deux niveaux sur les adresses MAC. Facile : seulement une fois que tu as un script qui génère la configuration Fiable: oui, si les règles sont bien conçues. Thomas On 7 Jun 2013, at 09:58, Antoine Durant antoine.duran...@yahoo.fr wrote: Bonjour, Une petite question concernant le trafic shaping avec TC sous Linux... Parmi-vous, est-ce que vous implantez le trafic shaping sur vos routeurs BGP (quagga par exemple) ? Facile en mettre en œuvre, fiable ? Cela bouffe t’il beaucoup de ressource machine ? Je pense utiliser tc qdisc/tc class couplé à iptables (mangle/POSTROUTING) avec CLASSIFY afin de matcher sur mes classid du tc class. J’attends vos retours d’expérience avec impatience et voir même quelque petit exemple de config si vous en avez sous la main… A++ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Bonjour, Ce n'est pas une régulation de trafic par une mise en forme de celui-ci, mais un filtrage d'adresses IP. L'emploi d'anglicismes ne clarifie pas la pensée, surtout lorsqu'ils ne sont pas adaptés. Cordialement, Michel - Mail original - De: Antoine Durant antoine.duran...@yahoo.fr À: Christophe Baegert c.baegert-lis...@lixium.fr Cc: Michel Hostettler michel.hostett...@telecom-paristech.fr, Xavier Beaudouin k...@oav.net, frnog-t...@frnog.org Envoyé: Vendredi 7 Juin 2013 15:02:43 Objet: Re: [FRnOG] [TECH] trafic shaping sur linux Pour limiter le trafic INPUT/OUTPUT de certaines adresses IP dans mon AS par exemple :) En gros faire une conf avec différente valeur rate autorisés sur le routeur De : Christophe Baegert c.baegert-lis...@lixium.fr À : Antoine Durant antoine.duran...@yahoo.fr Cc : Michel Hostettler michel.hostett...@telecom-paristech.fr; Xavier Beaudouin k...@oav.net; frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 14h28 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Bonjour, Le 07/06/2013 14:09, Antoine Durant a écrit : En regardant un peux sur google, je m'aperçoi que bon nombre d'ISP/FAI utilise le trafic shaping sur le routeur sans forcément de problème... Je ne suis pas derriere pour vérifier mais cela à l'air d'être appliqué à granche echelle ! Mais pour quoi faire ? Cordialement, Christophe --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Oui cela était mon idée première, mais... Comment faire sur du CISCO 2960 une limitation de BP uniquement vers internet (IN/OUT) et pas sur le réseau local. En gros : une IP dans mon AS a le droit de faire du 100M, en revanche cette IP n'a pas le droit de pomper plus de 1M depuis internet et inverssement (depuis internet, le serveur ne doit pas pouvoir dépasser les 1M en down/up). J'avais posé la question concernant cela sur 2960, mais a première vue les retours étaient négatifs ! A moins que j'ai oublié un truc... ??? De : Christophe Baegert c.baegert-lis...@lixium.fr À : Antoine Durant antoine.duran...@yahoo.fr Cc : Michel Hostettler michel.hostett...@telecom-paristech.fr; Xavier Beaudouin k...@oav.net; frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 15h06 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Le 07/06/2013 15:02, Antoine Durant a écrit : Pour limiter le trafic INPUT/OUTPUT de certaines adresses IP dans mon AS par exemple :) Les switches ne seraient pas plus adaptés pour ça ? Cordialement, Christophe --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Le 07/06/2013 15:46, Antoine Durant a écrit : Oui cela était mon idée première, mais... Comment faire sur du CISCO 2960 une limitation de BP uniquement vers internet (IN/OUT) et pas sur le réseau local. En gros : une IP dans mon AS a le droit de faire du 100M, en revanche cette IP n'a pas le droit de pomper plus de 1M depuis internet et inverssement (depuis internet, le serveur ne doit pas pouvoir dépasser les 1M en down/up). J'avais posé la question concernant cela sur 2960, mais a première vue les retours étaient négatifs ! A moins que j'ai oublié un truc... ??? 2 ports, un privé, un public. Après, le rate-limit est-il appliquable sur un vlan ? En tout cas le routeur ne me semble pas le meilleur endroit pour ça --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Ok merci pour le partage, belle config et wouaa un peu chaud quand même :) Dans ton exemple si je ne me trompe pas, tu n'utilises pas IPTABLES (MARK/CLASSIFY) ?? Cela est directement via match ip src ?? Donc pas besoin d'iptables avec ta façon de faire ?? Le hashkey est une variable que tu remplaces par la MAC du serveur de ton client je présume ?? De : Thomas Mangin thomas.man...@exa-networks.co.uk À : frnog-ow...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 15h25 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux C'est un peu long a expliquer ... Donc la config simplifie ... # Clear config tc qdisc del dev eth0 root handle 1 tc qdisc del dev eth1 root handle 1 # Setup HTB queueing discipline on physical interfaces tc qdisc add dev eth0 root handle 1: htb default tc qdisc add dev eth1 root handle 1: htb default # Set default for unclassified packets to 1M each direction tc class add dev eth0 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio tc class add dev eth1 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio # # eth0 - filter egress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth0 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth0 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -8 link 2: tc filter add dev eth0 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 200: tc filter add dev eth0 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 201: tc filter add dev eth0 parent 1:0 prio 5 handle 202: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:2 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 202: tc filter add dev eth0 parent 1:0 prio 5 handle 203: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:3 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 203: tc filter add dev eth0 parent 1:0 prio 5 handle 204: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:4 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 204: tc filter add dev eth0 parent 1:0 prio 5 handle 205: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:5 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 205: tc filter add dev eth0 parent 1:0 prio 5 handle 206: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:6 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 206: tc filter add dev eth0 parent 1:0 prio 5 handle 207: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:7 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 207: ... # # eth1 - filter ingress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth1 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth1 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -12 link 2: tc filter add dev eth1 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 200: tc filter add dev eth1 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 201: tc filter add dev eth1 parent 1:0 prio 5 handle 202: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:2 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 202: tc filter add dev eth1 parent 1:0 prio 5 handle 203: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol
Re: [FRnOG] [TECH] trafic shaping sur linux
Pourquoi deux ports ? Non pas de VLAN pour l'instant, mais l'idée est peut être à creuser, je ne sais pas... Le truc c'est que les IPs n'ont pas forcément la meme directive au niveau rate limit. IP 1 : 5Mbit IP2 : 5Mbit IP3 : 1Mbit IP4: 200Kbit De : Christophe Baegert c.baegert-lis...@lixium.fr À : Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 15h53 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Le 07/06/2013 15:46, Antoine Durant a écrit : Oui cela était mon idée première, mais... Comment faire sur du CISCO 2960 une limitation de BP uniquement vers internet (IN/OUT) et pas sur le réseau local. En gros : une IP dans mon AS a le droit de faire du 100M, en revanche cette IP n'a pas le droit de pomper plus de 1M depuis internet et inverssement (depuis internet, le serveur ne doit pas pouvoir dépasser les 1M en down/up). J'avais posé la question concernant cela sur 2960, mais a première vue les retours étaient négatifs ! A moins que j'ai oublié un truc... ??? 2 ports, un privé, un public. Après, le rate-limit est-il appliquable sur un vlan ? En tout cas le routeur ne me semble pas le meilleur endroit pour ça --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Oui, ce n'est pas iptables, c'est tc man tc dit tc - show / manipulate traffic control settings Thomas On 7 Jun 2013, at 14:53, Antoine Durant antoine.duran...@yahoo.fr wrote: Ok merci pour le partage, belle config et wouaa un peu chaud quand même :) Dans ton exemple si je ne me trompe pas, tu n'utilises pas IPTABLES (MARK/CLASSIFY) ?? Cela est directement via match ip src ?? Donc pas besoin d'iptables avec ta façon de faire ?? Le hashkey est une variable que tu remplaces par la MAC du serveur de ton client je présume ?? De : Thomas Mangin thomas.man...@exa-networks.co.uk À : frnog-ow...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 15h25 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux C'est un peu long a expliquer ... Donc la config simplifie ... # Clear config tc qdisc del dev eth0 root handle 1 tc qdisc del dev eth1 root handle 1 # Setup HTB queueing discipline on physical interfaces tc qdisc add dev eth0 root handle 1: htb default tc qdisc add dev eth1 root handle 1: htb default # Set default for unclassified packets to 1M each direction tc class add dev eth0 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio tc class add dev eth1 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio # # eth0 - filter egress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth0 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth0 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -8 link 2: tc filter add dev eth0 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 200: tc filter add dev eth0 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 201: tc filter add dev eth0 parent 1:0 prio 5 handle 202: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:2 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 202: tc filter add dev eth0 parent 1:0 prio 5 handle 203: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:3 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 203: tc filter add dev eth0 parent 1:0 prio 5 handle 204: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:4 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 204: tc filter add dev eth0 parent 1:0 prio 5 handle 205: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:5 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 205: tc filter add dev eth0 parent 1:0 prio 5 handle 206: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:6 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 206: tc filter add dev eth0 parent 1:0 prio 5 handle 207: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:7 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 207: ... # # eth1 - filter ingress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth1 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth1 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -12 link 2: tc filter add dev eth1 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 200: tc filter add dev eth1 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 201: tc filter add dev eth1 parent 1:0 prio 5 handle 202: protocol 802.1q u32 divisor 256
Re: [FRnOG] [TECH] trafic shaping sur linux
On 07/06/2013 17:23, Thomas Mangin wrote: Oui, ce n'est pas iptables, c'est tc man tc dit tc - show / manipulate traffic control settings Une petite doc qui explique simplement ce que l'on peut faire avec tc. http://www.inetdoc.net/guides/lartc/lartc.qdisc.classless.html http://www.inetdoc.net/guides/lartc/lartc.adv-filter.hashing.html Fendo Thomas On 7 Jun 2013, at 14:53, Antoine Durant antoine.duran...@yahoo.fr wrote: Ok merci pour le partage, belle config et wouaa un peu chaud quand même :) Dans ton exemple si je ne me trompe pas, tu n'utilises pas IPTABLES (MARK/CLASSIFY) ?? Cela est directement via match ip src ?? Donc pas besoin d'iptables avec ta façon de faire ?? Le hashkey est une variable que tu remplaces par la MAC du serveur de ton client je présume ?? De : Thomas Mangin thomas.man...@exa-networks.co.uk À : frnog-ow...@frnog.org; Antoine Durant antoine.duran...@yahoo.fr Cc : frnog-t...@frnog.org frnog-t...@frnog.org Envoyé le : Vendredi 7 juin 2013 15h25 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux C'est un peu long a expliquer ... Donc la config simplifie ... # Clear config tc qdisc del dev eth0 root handle 1 tc qdisc del dev eth1 root handle 1 # Setup HTB queueing discipline on physical interfaces tc qdisc add dev eth0 root handle 1: htb default tc qdisc add dev eth1 root handle 1: htb default # Set default for unclassified packets to 1M each direction tc class add dev eth0 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio tc class add dev eth1 parent 1:0 classid 1: htb rate 10kbit ceil 10kbit burst 16k prio # # eth0 - filter egress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth0 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth0 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -8 link 2: tc filter add dev eth0 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 200: tc filter add dev eth0 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 201: tc filter add dev eth0 parent 1:0 prio 5 handle 202: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:2 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 202: tc filter add dev eth0 parent 1:0 prio 5 handle 203: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:3 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 203: tc filter add dev eth0 parent 1:0 prio 5 handle 204: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:4 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 204: tc filter add dev eth0 parent 1:0 prio 5 handle 205: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:5 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 205: tc filter add dev eth0 parent 1:0 prio 5 handle 206: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:6 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 206: tc filter add dev eth0 parent 1:0 prio 5 handle 207: protocol 802.1q u32 divisor 256 tc filter add dev eth0 protocol 802.1q parent 1:0 prio 5 u32 ht 2:7 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -8 link 207: ... # # eth1 - filter ingress trafic on SRC MAC # Step 1, build 1st level hash table using last byte in MAC address as lookup key # Step 2, build 2nd level hash tables using 2nd to last byte in MAC address as lookup key # # See http://www.docum.org/docum.org/faq/cache/62.htmlfor info regards matching L2 header using negative offsets # tc filter add dev eth1 parent 1:0 prio 5 protocol 802.1q u32 tc filter add dev eth1 parent 1:0 prio 5 handle 2: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0x00ff at -12 link 2: tc filter add dev eth1 parent 1:0 prio 5 handle 200: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:0 match ip src 0.0.0.0/0 hashkey mask 0xff00 at -12 link 200: tc filter add dev eth1 parent 1:0 prio 5 handle 201: protocol 802.1q u32 divisor 256 tc filter add dev eth1 protocol 802.1q parent 1:0 prio 5 u32 ht 2:1
Re: [FRnOG] [TECH] trafic shaping sur linux
Le 07/06/2013 14:15, Xavier Beaudouin a écrit : Après sur un Linux (bien tunné avec un bon noyau) tu peux arriver a faire du pps. Sur une machine Linux, le nombre de pps qu'est capable d'encaisser la machine dépend moins du processeur et de la RAM que de la carte réseau et son driver. Sur un chipset pas trop mal documenté et des drivers bien implantés sur le noyau, on peut cracher pas mal de pps. Avec du chipset fermé et du driver en binaires pré-compilés, forcément ça marche moins bien. Cordialement. Solarus --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
En parlant de PPS, comment determiner ou trouver le nombre de PPS sur une machine ? Existe t'il un outil de bench pour sortir le nombre de PPS ?? De : Solarus sola...@ultrawaves.fr À : frnog@frnog.org Envoyé le : Vendredi 7 juin 2013 18h59 Objet : Re: [FRnOG] [TECH] trafic shaping sur linux Le 07/06/2013 14:15, Xavier Beaudouin a écrit : Après sur un Linux (bien tunné avec un bon noyau) tu peux arriver a faire du pps. Sur une machine Linux, le nombre de pps qu'est capable d'encaisser la machine dépend moins du processeur et de la RAM que de la carte réseau et son driver. Sur un chipset pas trop mal documenté et des drivers bien implantés sur le noyau, on peut cracher pas mal de pps. Avec du chipset fermé et du driver en binaires pré-compilés, forcément ça marche moins bien. Cordialement. Solarus --- Liste de diffusion du FRnOG http://www.frnog.org/ --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Le 07/06/2013 19:42, Antoine Durant a écrit : En parlant de PPS, comment determiner ou trouver le nombre de PPS sur une machine ? Existe t'il un outil de bench pour sortir le nombre de PPS ?? Je crois que tcpstat peut faire ce genre de mesure. http://www.frenchfries.net/paul/tcpstat/ Cordialement Solarus --- Liste de diffusion du FRnOG http://www.frnog.org/
Re: [FRnOG] [TECH] trafic shaping sur linux
Bonsoir, Il existe également ethstats qui parse /proc/net/dev pour obtenir le throughput de chaque device en Mb/s et en pps. Bonne soirée Florent smime.p7s Description: Signature cryptographique S/MIME
Re: [FRnOG] [TECH] trafic shaping sur linux
Merci pour les infos... Je vais tester les deux et voir un peux cela... Par contre quelqu'un a t'il un tableau qui donne la force d'un serveur pour faire du routage en fonction du nombre de PPS ? Comment dire que telle config est bonne,moyenne ou a bazarder ? Une petite idée de classification ? --- Liste de diffusion du FRnOG http://www.frnog.org/