Re: [FRnOG] [TECH] trafic shaping sur linux

2013-06-10 Par sujet Antoine Durant
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

2013-06-09 Par sujet Steven Le Roux
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

2013-06-08 Par sujet Méhdi Denou
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

2013-06-07 Par sujet Xavier Beaudouin
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

2013-06-07 Par sujet Michel Hostettler
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

2013-06-07 Par sujet Xavier Beaudouin

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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Xavier Beaudouin
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

2013-06-07 Par sujet Christophe Baegert
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

2013-06-07 Par sujet Thomas Mangin
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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Christophe Baegert


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

2013-06-07 Par sujet Thomas Mangin
 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

2013-06-07 Par sujet Michel Hostettler
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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Christophe Baegert
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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Thomas Mangin
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

2013-06-07 Par sujet Fernando Alves

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

2013-06-07 Par sujet Solarus

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

2013-06-07 Par sujet Antoine Durant
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

2013-06-07 Par sujet Solarus

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

2013-06-07 Par sujet Florent CARRÉ

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

2013-06-07 Par sujet Antoine Durant
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/